Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Sommaire

Si vous souhaitez déporter la transcription sur le serveur d'encodage, les commandes suivantes sont à effectuer sur le serveur d'encodage (voir la page Déporter l'encodage sur un ou plusieurs serveurs en Pod V3)

Utilisation de l'auto-transcription dans Pod

...

Info

À présent, vous pouvez choisir d’installer un des 2 modèles STT ou Vosk. Il est toutefois conseiller conseillé d'utiliser Vosk.

STT (Coqui Ai)

Les fichiers peuvent être téléchargés sur le site du projet : https://coqui.ai/models

Il faut installer l'application dans l'environnement virtuel de Pod (stt==1.4.0)

Bloc de code
titleinstallation de STT
(django_pod3)pod@podv3
Bloc de code
pod@podv2:/usr/local/django_projects/podv3$ pip3 install stt


Les fichiers peuvent être téléchargés sur le site du projet : https://github.com/coqui-ai/STT-models

Bloc de code
pod@podv3:/usr/local/django_projects/transcription/model_fr/stt$ ll
-rw-r--r--transcription/model_fr/stt$ ll
-rw-r--r-- 1 pod pod        248 nov.  14 21:14 alphabet.txt
-rw-r--r-- 1 pod pod  189372825      248 nov.  1514 0921:1214 modelalphabet.pbmmtxt
-rw-r--r-- 1 pod pod  1007576678189372825 nov.  15 0809:42 fr-cvfr-2-12 model.pbmm
-rw-r--r-- 1 pod pod  1007576678 nov.  15 08:42 fr-cvfr-2-prune-kenlm.scorer
-rw-r--r-- 1 pod pod  47500492 nov.  15 08:54 model.tflite

Dans le fichier custom/settings-local.py, il suffit d’ajouter les paramètres suivant:

 

Pour Pod à partir de la version 3 avec fr et en :

Bloc de code
languagepy
# Transcription
USE_TRANSCRIPTION = True

## Transcription use
# * STT
# * VOSK
TRANSCRIPTION_TYPE = "STT"

# Paramétrage des modèles
# * Pour télécharger les Modèles STT : https://coqui.ai/models

TRANSCRIPTION_MODEL_PARAM = {
	# les modèles Stt
	'STT': {
		'fr': {
			'model': "/usr/local/django_projects/transcription/model_fr/stt/model.pbmm",
			'scorer': "/usr/local/django_projects/transcription/model_fr/stt/fr-cvfr-2-prune-kenlm.scorer",
		}
	} 
}

...

Pour ajouter un modèle d'un autre languagelangage, ajouter une entrée comme l'exemple ci-dessous, fait pour le language langage Anglais "en" :

Bloc de code
languagepy
# Paramétrage des modèles
# * Pour télécharger les Modèles STT : https://coqui.ai/models
TRANSCRIPTION_MODEL_PARAM = {
	# les modèles Stt
	'STT': {
		'fr': {
			'model': "/usr/local/django_projects/transcription/model_fr/stt/model.pbmm",
			'scorer': "/usr/local/django_projects/transcription/model_fr/stt/fr-cvfr-2-prune-kenlm.scorer",
		},
		'en': {
			'model': "/usr/local/django_projects/transcription/model_en/stt/model.pbmm",
			'scorer': "/usr/local/django_projects/transcription/model_en/stt/kenlm.scorer",
		}
	} 
}


Pour tester

...

la transcription en ligne de commande

Bloc de code
languagebash
(django_pod)$> python manage.py shell 
Python 3.7.3 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> video_id = 1234
>>> from pod.video import transcript 
>>> transcript.main_threaded_transcript(video_id)


Vosk

l faut installer l'application dans l'environnement virtuel de Pod (vosk==0.3.45)

Bloc de code
titleinstallation de VOSK
(django_pod3)pod@podv3:/usr/local/django_projects/podv3$ pip3 install vosk

Les fichiers pour les modèles peuvent Les fichiers pour les modèles peuvent être téléchargés sur cette page : https://alphacephei.com/vosk/models.

...

Bloc de code
languagebash
(django_podpod3) pod@:/path/to/project/django_projects/transcription/fr/vosk/$ wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0.zip

...

Bloc de code
languagebash
(django_podpod3) pod@:/path/to/project/django_projects/pod$transcription/fr/vosk/$ sudo apt-get install unzip
(django_podpod3) pod@:/path/to/project/django_projects/pod$/transcription/fr/vosk/$ unzip vosk-model-fr-0.6-linto-2.2.0.zip

 

Dans le fichier custom/settings-local.py, il suffit d’ajouter les paramètres suivants (a préciser egalement sur les frontaux pour qu'il puisse lister les langue/model de dispo depuis la 3.3.1) :

Pour Pod avec Vosk en fr :

Bloc de code
languagepy
# Transcription
USE_TRANSCRIPTION = True

## Transcription use
# * STT
# * VOSK
TRANSCRIPTION_TYPE = "VOSK"

# Paramétrage des modèles
# * Pour télécharger les Modèles Vosk : https://alphacephei.com/vosk/models
TRANSCRIPTION_MODEL_PARAM = {
  # les modèles Vosk
  'VOSK':{
    'fr': {
      'model': "/path/of/project/django_projects/transcription/model_fr/vosk/vosk-model-fr-0.6-linto-2.2.0",
    }
  }
}

...

Pour ajouter un modèle d'un autre languagelangage, ajouter une entrée comme l’exemple ci-dessous, fait pour le language langage Anglais "en" :

Bloc de code
languagepy
# Paramétrage des modèles
# * Pour télécharger les Modèles Vosk : https://alphacephei.com/vosk/models
TRANSCRIPTION_MODEL_PARAM = {
  # le modèle vosk
  'VOSK':{
    'fr': {
      'model': "/path/of/project/django_projects/transcription/model_fr/vosk/vosk-model-fr-0.6-linto-2.2.0",
    },
 	'en': {
      'model': "/path/of/project/django_projects/transcription/model_en/vosk/vosk-model-en-us-0.22",
    }
  }
}

...

Les modèles utilisés pour l’enrichissement du modèle peuvent être stockés dans /path/to/project/django_projects/compile-model

 

Il faut télécharger le modèle de compilation correspondant sur ce lien : https://alphacephei.com/vosk/lm#update-process.

...

Bloc de code
languagebash
(django_podpod3) pod@:/path/to/project/django_projects/compile-model/fr$ wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0-compile.zip

...

Bloc de code
languagebash
(django_podpod3) pod@:/path/to/project/django_projects/compile-model/fr$ sudo apt-get install unzip
(django_podpod3) pod@:/path/to/project/django_projects/compile-model/fr$ unzip vosk-model-fr-0.6-linto-2.2.0-compile.zip

Il faut seulement que la structure du dossier compile-model ressemble à cela :


(django_podpod3) pod@:/path/to/project/django_projects/compile-model

...

Maintenant il faut installer docker sur votre machine. (voir https://docs.docker.com/engine/install/debian/ ci si besoin)

Après que docker soit installé, créer un fichier entrypoint.sh et DockerFile dans un même dossier.

...

Bloc de code
titleDockerFile
## Build the DockerFile
# docker build --tag kaldi -f DockerFile .
##
## Example of manual execution of the Docker file
# sudo docker run -v ${PWD}/compile-model:/kaldi/compile-model -it kaldi
##
FROM debian:10
RUN apt-get update && apt-get install -y ca-certificates \
 && apt-get install -y \
 python3-pip \
 git \
 && apt-get install -y zlib1g-dev automake autoconf unzip wget sox gfortran libtool subversion python2.7 nano libfst-tools \
 && apt-get clean
RUN python3 --version
ENV KALDI_ROOT="/kaldi"
RUN git clone https://github.com/kaldi-asr/kaldi.git $KALDI_ROOT
WORKDIR $KALDI_ROOT"/tools"
RUN bash $KALDI_ROOT"/tools/extras/check_dependencies.sh"
RUN touch $KALDI_ROOT"/tools/python/.use_default_python"
RUN bash $KALDI_ROOT"/tools/extras/install_mkl.sh"
RUN apt-get install gfortran sox
RUN make -j $(nproc)
RUN pip3 install phonetisaurus
RUN bash $KALDI_ROOT"/tools/extras/install_opengrm.sh"
RUN make
RUN bash $KALDI_ROOT"/tools/extras/install_irstlm.sh"
RUN apt-get install gawk
RUN bash $KALDI_ROOT"/tools/extras/install_srilm.sh" "unkown" "unkown" "unkown"
RUN cd $KALDI_ROOT"/src" && ./configure --shared
RUN cd $KALDI_ROOT"/src" && make depend -j $(nproc)
RUN cd $KALDI_ROOT"/src" && make -j $(nproc)
RUN cd $KALDI_ROOT"/src/fstbin" && make
RUN echo "export PATH="$KALDI_ROOT"/src/fstbin:\$PATH" >> $KALDI_ROOT"/tools/env.sh"
RUN cd $KALDI_ROOT"/src/lmbin" && make
RUN echo "export PATH="$KALDI_ROOT"/src/lmbin:\$PATH" >> $KALDI_ROOT"/tools/env.sh"
RUN cd $KALDI_ROOT"/src/tree" && make
RUN echo "export PATH="$KALDI_ROOT"/src/tree:\$PATH" >> $KALDI_ROOT"/tools/env.sh"
RUN cd $KALDI_ROOT"/src/bin" && make
RUN echo "export PATH="$KALDI_ROOT"/src/bin:\$PATH" >> $KALDI_ROOT"/tools/env.sh"
COPY entrypoint.sh /entrypoint.sh
WORKDIR $KALDI_ROOT
ENTRYPOINT ["/entrypoint.sh"]


Après avoir copié et créer créé les deux fichier fichiers Dockerfile et entrypoint.sh il suffit de lancer la commande ci-dessous en étant dans la même dossier que les fichiers précédemment mentionnés.

...

Pour finir, il faut activer l’enrichissement du modèle vosk dans une application pod, pour cela il suffit d’ajouter dans le fichier custom/settings-local.py les paramètres suivants :

...

languagepy

...

le fichier custom/settings-local.py les paramètres suivants :

Bloc de code
languagepy
ACTIVE_ENRICH = True
MODEL_COMPILE_DIR = "/path/to/project/django_projects/compile-model"


Whisper (v3.5.0)

Sur les encodeurs :


Bloc de code
languagebash
pip install openai-whisper

ou si vous souhaitez bénéficier des derniers commits 

Bloc de code
languagebash
pip install git+https://github.com/openai/whisper.git

Exemple de configuration du custom/settings_local :

Bloc de code
languagepy
TRANSCRIPTION_TYPE = "WHISPER"

TRANSCRIPTION_MODEL_PARAM = {
	'WHISPER':{
		'fr': {
			'model': "small",
			'download_root': "/pod-transcription/transcription/whisper/",
		},
		'en': {
			'model': "small",
			'download_root': "/pod-transcription/transcription/whisper/",
		}
	}
}

Voir détails ici pour le choix du modèle
Le small n'est pas plus gourmand que vosk et est déjà performant

...