configuration pour transcrire des fichiers audio wav avec Vosk
Go to file
2022-04-12 10:45:53 +02:00
.idea check file exists 2021-08-18 16:26:49 +02:00
input check file exists 2021-08-18 16:26:49 +02:00
models check file exists 2021-08-18 16:26:49 +02:00
output check file exists 2021-08-18 16:26:49 +02:00
website check file exists 2021-08-18 16:26:49 +02:00
.gitignore Merge branch 'master' of https://forge.chapril.org/tykayn/transcription 2022-04-12 09:25:54 +02:00
clean.sh check file exists 2021-08-18 16:26:49 +02:00
conversion_simple_en.py check file exists 2021-08-18 16:26:49 +02:00
conversion_simple_fr.py check file exists 2021-08-18 16:26:49 +02:00
extract_srt_en.py check file exists 2021-08-18 16:26:49 +02:00
extract_srt.py add doc for other models 2022-04-12 10:45:53 +02:00
inputs_to_wav.sh check file exists 2021-08-18 16:26:49 +02:00
install.sh add doc for other models 2022-04-12 10:45:53 +02:00
LICENSE.md check file exists 2021-08-18 16:26:49 +02:00
log_ydl.txt check file exists 2021-08-18 16:26:49 +02:00
Makefile check file exists 2021-08-18 16:26:49 +02:00
README.md add doc for other models 2022-04-12 10:45:53 +02:00
transcript.sh préciser le temps pris par la conversion en sous titre 2022-04-12 10:17:44 +02:00
wav_to_wav_mono.sh check file exists 2021-08-18 16:26:49 +02:00
webm_to_wav.sh check file exists 2021-08-18 16:26:49 +02:00

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
  make wav
  • 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 dans input/demo.wav, les fichiers de transcription sont dans output/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.

Modèles de voix

Common voice: 22Go https://commonvoice.mozilla.org/fr/datasets

Other models Other places where you can check for models which might be compatible:

https://kaldi-asr.org/models.html - variety of models from Kaldi - librispeech, aspire, chinese models https://github.com/daanzu/kaldi-active-grammar/blob/master/docs/models.md - Big dictation models for English https://github.com/uhh-lt/vosk-model-tuda-de - German models https://github.com/german-asr/kaldi-german - Another German project https://zamia-speech.org/asr/ - German and English model from Zamia https://github.com/pguyot/zamia-speech/releases - French models for Zamia https://github.com/opensource-spraakherkenning-nl/Kaldi_NL - Dutch model https://montreal-forced-aligner.readthedocs.io/en/latest/pretrained_models.html (GMM models, not compatible but might be still useful) https://github.com/goodatlas/zeroth - Korean Kaldi (just a recipe and data to train) https://github.com/undertheseanlp/automatic_speech_recognition - Vietnamese Kaldi project https://doc.linto.ai/#/services/linstt - LINTO project with French and English models https://community.rhasspy.org/ - Rhasspy (some Kaldi models for Czech, probably even more) https://github.com/feddybear/flipside_ph - Filipino model project by Federico Ang https://github.com/alumae/kiirkirjutaja - Estonian Speech Recognition project with Vosk models https://github.com/falabrasil/kaldi-br - Portuguese models from FalaBrasil project https://github.com/egorsmkv/speech-recognition-uk - Ukrainian ASR project with Vosk models https://github.com/Appen/UHV-OTS-Speech - repository from Appen for Scalable Data Annotation Pipeline for High-Quality Large Speech Datasets Development https://github.com/vistec-AI/commonvoice-th - Thai models trained on CommonVoice

liens