État | ||||
---|---|---|---|---|
|
Sommaire |
---|
Utilisation de l'autotranscription dans Pod:
Remarque : à partir de la version 2.6.2 de Pod, c'est la version 0.8.2 de DeepSpeech qui est utilisée. Il faut adapter les modèles et les paramètres de configuration de Pod.
Pour découper le fichier audio de pod et faire sa transcription, nous avons besoin de Sox, il faut donc installer les deux lib suivantes :
- (django_pod) pod@podv2:/usr/local/django_projects/podv2$ sudo aptitude install sox
- (django_pod) pod@podv2:/usr/local/django_projects/podv2$ sudo apt-get install libsox-fmt-mp3
Il faut également installer le module python ffmpeg-normalize
- (django_pod) pod@podv2:/usr/local/django_projects/podv2$ pip install ffmpeg-normalize
L'ensemble des fichiers créés (modèle, alphabet, lm.binary et trie pour version 0.6.1 de deepspeech ou kenlm.scorer et output_graph.pbmm pour la version 0.8.2 de deepspeech) peuvent être stockés dans /usr/local/django_projects/transcription
il convient de faire un sous-dossier par langue (I.E: fr, en etc.)
``` pour version de pod < 2.6.2
pod@podv2:/usr/local/django_projects/transcription/model_fr$ ll
total 2716020
-rw-r--r-- 1 pod pod 157 nov. 14 21:14 alphabet.txt
-rw-r--r-- 1 pod pod 1395207692 oct. 13 10:08 lm.binary
-rw-r--r-- 1 pod pod 1125941232 nov. 15 09:40 model_tensorflow_fr.tar.xz
-rw-r--r-- 1 pod pod 189186587 nov. 15 08:42 output_graph.pbmm
-rw-r--r-- 1 pod pod 70846624 nov. 14 11:56 trie
...
le fichier "model_tensorflow_fr.tar.xz" peut-etre téléchargé sur le site du projet (attention à prendre la version adéquat : https://github.com/Common-Voice/commonvoice-fr/releases
par exemple pour la version : v0.6.0-fr-0.4
pour la version 0.8.2 (le premier contient les fichiers pour FR, les 2 autres sont pour EN ):
wget https://github.com/mozilla/DeepSpeech/releases/download/v0.8.2/deepspeech-0.8.2-models.pbmm
wget https://github.com/mozilla/DeepSpeech/releases/download/v0.8.2/deepspeech-0.8.2-models.scorer
puis décompresser le/les fichiers :
tar -xJvf model_tensorflow_fr.tar.xz
Dans le fichier custom/settings-local.py, il suffit d’ajouter les paramètres suivant (une entrée par langue) :
Pour Pod à partir de la 2.6.2 avec fr et en :
....
USE_TRANSCRIPTION = True
DS_PARAM = {
'fr': { # le modèle deepspeech 0.5.2 FR
'model': "/usr/local/django_projects/transcription/model_fr/output_graph.pbmm",
'scorer': "/usr/local/django_projects/transcription/model_fr/kenlm.scorer",
},
'en': { # le modèle deepspeech 0.8.2 EN
'model': "/usr/local/django_projects/transcription/model_en/deepspeech-0.8.2-models.pbmm",
'scorer': "/usr/local/django_projects/transcription/model_en/deepspeech-0.8.2-models.scorer",
}
}
Pour Pod < 2.6.2
"""
USE_TRANSCRIPTION = True
DS_PARAM = {
'fr': {
# alphabet;txt contient tous les caractères de la langue lang
...
'lm_beta': 1.4 # The beta hyperparameter of the CTC decoder / Word insertion bonus
}
}
"""
Pour tester l'encodage en ligne de commande :
$ python manage shell (pour lancer le shell)
$> from pod.video import transcript (dans le shell, je charge le module transcript de pod)
$>transcript.main_threaded_transcript(<video_id>) (j'appelle la fonction
main_threaded_transcript du module transcript pour transcrire la video dont l'identifiant est
<video_id>)
Pour construire un modèle DeepSpeech :
...