Sommaire outline true
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)
Il faut installer l'application dans l'environnement virtuel de Pod (stt==1.4.0)
| Bloc de code | ||
|---|---|---|
| ||
(django_pod3)pod@podv3:/usr | ||
| 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-prune-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 |
les fichier peuvent être téléchargé sur le site du projet: https://coqui.ai/models
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 | ||
|---|---|---|
| ||
# 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 | ||
|---|---|---|
| ||
# 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 | ||
|---|---|---|
| ||
(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
Les fichiers pour les modèles peuvent être téléchargés sur cette page https://alphacephei.com/vosk/models.
Par exemple pour le modèle français:
l faut installer l'application dans l'environnement virtuel de Pod (vosk==0.3.45)
| Bloc de code | ||
|---|---|---|
| ||
| Bloc de code | ||
| ||
(django_podpod3) pod@pod@podv3:/pathusr/to/projectlocal/django_projects/transcription/fr/vosk/$ wget podv3$ pip3 install vosk |
Les fichiers pour les modèles peuvent être téléchargés sur cette page : https://alphacephei.com/vosk/models
...
.
...
Par exemple pour le modèle français Après avoir téléchargé le modèle, il faut le décompresser. Pour cela vous pouvez utiliser la librairie unzip :
| Bloc de code | ||
|---|---|---|
| ||
(django_podpod3) pod@:/path/to/project/django_projects/pod$ sudo apt-get install unzip (django_pod) pod@:/path/to/project/django_projects/pod$ unzip vosk/transcription/fr/vosk/$ wget https://alphacephei.com/vosk/models/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 :
Pour Pod avec Vosk en fr Après avoir téléchargé le modèle, il faut le décompresser. Pour cela vous pouvez utiliser la librairie unzip :
| Bloc de code | |||
|---|---|---|---|
| |||
(django_pod3) pod@:/path/to/project/django_projects/transcription/fr/vosk/$ sudo apt-get install unzip
(django_pod3) pod@:/path/to/project/django_projects/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 | ||
|---|---|---|
| ||
# 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/# 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 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 | ||
|---|---|---|
| ||
# 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", } } } |
...
Maintenant lors de l’upload d’une vidéo avec l’auto-transcription activée le modèle Vosk sera utilisé pour effectuer la transcription.
[OPTIONNEL] Activer
...
l’enrichissement du modèle vosk dans Pod
...
En installant les modèles de compilation vous pourrez contribuer à l'enrichissement des modèles.
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 | ||
|---|---|---|
| ||
(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 | ||
|---|---|---|
| ||
(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 | ||
|---|---|---|
| ||
## 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 :
...
| language | py |
|---|
le fichier custom/settings-local.py les paramètres suivants :
| Bloc de code | ||
|---|---|---|
| ||
ACTIVE_ENRICH = True
MODEL_COMPILE_DIR = "/path/to/project/django_projects/compile-model" |
Whisper (v3.5.0)
Sur les encodeurs :
| Bloc de code | ||
|---|---|---|
| ||
pip install openai-whisper |
ou si vous souhaitez bénéficier des derniers commits
| Bloc de code | ||
|---|---|---|
| ||
pip install git+https://github.com/openai/whisper.git |
Exemple de configuration du custom/settings_local :
| Bloc de code | ||
|---|---|---|
| ||
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
...