forked from tykayn/transcription
configuration pour transcrire des fichiers audio wav avec Vosk
.idea | ||
input | ||
models | ||
output | ||
website | ||
.gitignore | ||
clean.sh | ||
conversion_simple_fr.py | ||
extract_srt.py | ||
inputs_to_wav.sh | ||
install.sh | ||
LICENSE.md | ||
Makefile | ||
README.md | ||
transcript.sh | ||
wav_to_wav_mono.sh | ||
webm_to_wav.sh |
Transcription avec Vosk, par Tykayn
configuration pour transcrire des fichiers audio wav avec Vosk
mode d'emploi
installation
Prérequis
- python3 (pour l'école serpentard)
- pip3 version 19 (gestionnaire de paquets python)
- git (gestion de version)
- unzip (décompression de modèle)
- jq (pour le nettoyage de fichier json)
- ffmpeg (pour la conversion vers wav)
- youtube-dl si vous souhaitez utiliser le website
- 4Go de ram, 2Go serait trop juste pour utiliser le modèle fr par défaut.
- testé sur Ubuntu 20.04 pour les installer avec aptitude
sudo apt install jq python3-pip git ffmpeg
cloner ce dépot dans un dossier de travail
git clone https://forge.chapril.org/tykayn/transcription.git && cd transcription
- installer vosk via le MakeFile, vérifiez les prérequis ci-dessus. une fois dans votre dossier de transcription fraîchement cloné, faites la commande:
make
- mettre un fichier audio dans le dossier "input"
- le convertir en wav mono (avec audacity par exemple)
- lancer la transcription du wav mono. Une démo est disponible, extraite de l'émission Libre à vous!
make convert file=input/demo.wav
n'oubliez pas l'argument file=
- la sortie texte de la transcription se trouve dans output
output/demo/4_phrases.txt
et devrait être affichée à la fin de l'exécution du script. Chaque fichier transcrit a un sous-dossier de son nom dans le dossier output. Ainsi, pour la démo qui se trouve dansinput/demo.wav
, les fichiers de transcription sont dansoutput/demo/
Précisions
- vosk est capable de fournir d'autres informations comme la seconde de début et de fin de la phrase détectée. Cela pourrait être utile pour produire des fichiers de sous titre. Cela a été ajouté dans un script perl grâce à @r_a@framapiaf.org
- les locuteurs ne sont pas détectés, toutes les phrases sont dites sans cette précision.
- si deux personnes parlent rapidement l'une après l'autre, vosk considèrera qu'il s'agit d'une seule phrase.
- les transcriptions peuvent être faites pour plusieurs langues, il faudra modifier le fichier "conversion_simple_fr.py" si on veut autre chose que du Français.
évolutions possibles
- convertir un fichier mp3 vers WAV mono avec ffmpeg.
- nettoyer l'écho et normaliser le fichier audio.
- permettre le traitement en masse de plusieurs fichiers de podcast et leur donner un output nommé comme le fichier d'entrée afin de les distinguer.
liens
- podcast libre à vous
- transcriptions libre à lire
- message parlant de transcription dans la liste de diffusion de l'april
- site officiel de Vosk : installation , modèles de langue
- sur Telegram
- groupe de discussion sur vosk (veille bibliographique sur la reconnaissance automatique de la parole)
- groupe d'aide de vosk
- site cipherbliss.com
- @tykayn sur Mastodon.