add doc for other models
This commit is contained in:
parent
4ce54d002c
commit
27765e243d
31
README.md
31
README.md
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
configuration pour transcrire des fichiers audio wav avec Vosk
|
configuration pour transcrire des fichiers audio wav avec Vosk
|
||||||
|
|
||||||
## mode d'emploi
|
## Mode d'emploi
|
||||||
|
|
||||||
### installation
|
### installation
|
||||||
#### Prérequis
|
#### Prérequis
|
||||||
@ -21,7 +21,7 @@ pour les installer avec aptitude
|
|||||||
sudo apt install jq python3-pip git ffmpeg
|
sudo apt install jq python3-pip git ffmpeg
|
||||||
```
|
```
|
||||||
|
|
||||||
#### cloner ce dépot dans un dossier de travail
|
#### Cloner ce dépot dans un dossier de travail
|
||||||
```bash
|
```bash
|
||||||
git clone https://forge.chapril.org/tykayn/transcription.git && cd transcription
|
git clone https://forge.chapril.org/tykayn/transcription.git && cd transcription
|
||||||
```
|
```
|
||||||
@ -51,10 +51,35 @@ Chaque fichier transcrit a un sous-dossier de son nom dans le dossier output. Ai
|
|||||||
* si deux personnes parlent rapidement l'une après l'autre, vosk considèrera qu'il s'agit d'une seule phrase.
|
* 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.
|
* 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
|
# Évolutions possibles
|
||||||
- convertir un fichier mp3 vers WAV mono avec ffmpeg.
|
- convertir un fichier mp3 vers WAV mono avec ffmpeg.
|
||||||
- nettoyer l'écho et normaliser le fichier audio.
|
- 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.
|
- 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
|
# liens
|
||||||
* [podcast libre à vous](https://cause-commune.fm/podcastfilter/libre-a-vous/)
|
* [podcast libre à vous](https://cause-commune.fm/podcastfilter/libre-a-vous/)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# TODO tqdm
|
# prend un fichier audio et imprime des sous titres au format srt
|
||||||
|
|
||||||
from vosk import Model, KaldiRecognizer, SetLogLevel
|
from vosk import Model, KaldiRecognizer, SetLogLevel
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
@ -41,7 +42,7 @@ class SubPart:
|
|||||||
"""[1:-1]
|
"""[1:-1]
|
||||||
|
|
||||||
|
|
||||||
def gen_subparts(input_file, model_dir, verbose=False, partlen=4, progress=False):
|
def gen_subparts(input_file, model_dir, verbose=False, partlen=4, progress=True):
|
||||||
SetLogLevel(0 if verbose else -1)
|
SetLogLevel(0 if verbose else -1)
|
||||||
|
|
||||||
model = Model(model_dir)
|
model = Model(model_dir)
|
||||||
@ -134,5 +135,3 @@ def main():
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
print ("script extract_srt done in : ")
|
|
||||||
print (time.time() - start_time), "seconds"
|
|
||||||
|
18
install.sh
18
install.sh
@ -29,14 +29,20 @@ echo " "
|
|||||||
mkdir -p models/fr
|
mkdir -p models/fr
|
||||||
echo -e "${green}########### Procéder au téléchargement du modèle Français (1.6go) pour transcrire les textes ?${reset} (écrivez o pour oui et faites entrée pour valider) ${reset}"
|
echo -e "${green}########### Procéder au téléchargement du modèle Français (1.6go) pour transcrire les textes ?${reset} (écrivez o pour oui et faites entrée pour valider) ${reset}"
|
||||||
read proceed
|
read proceed
|
||||||
|
|
||||||
|
# les autres modèles sont ici https://alphacephei.com/vosk/models
|
||||||
if [[ $proceed == o* ]]; then
|
if [[ $proceed == o* ]]; then
|
||||||
echo "C'est parti."
|
echo "C'est parti."
|
||||||
wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0.zip
|
if [ ! -f "vosk-model-fr-0.6-linto-2.2.0.zip" ]; then
|
||||||
echo -e "${green}########### téléchargement du modèle OK ${reset}"
|
wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0.zip
|
||||||
unzip vosk-model-fr-0.6-linto-2.2.0.zip
|
echo -e "${green}########### téléchargement du modèle OK ${reset}"
|
||||||
mv vosk-model-fr-0.6-linto-2.2.0 models/fr
|
unzip vosk-model-fr-0.6-linto-2.2.0.zip
|
||||||
echo -e "${green}########### décompression du modèle OK ${reset}"
|
mv vosk-model-fr-0.6-linto-2.2.0 models/fr
|
||||||
ls -l models/fr
|
echo -e "${green}########### décompression du modèle en Français OK ${reset}"
|
||||||
|
ls -l models/fr
|
||||||
|
else
|
||||||
|
echo "fichier zip vosk-model-fr-0.6-linto-2.2.0.zip déjà présent"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${green}########### vous n'avez pas souhaité télécharger le modèle ${reset}"
|
echo -e "${green}########### vous n'avez pas souhaité télécharger le modèle ${reset}"
|
||||||
echo -e "${green}########### fin de l'installation sans télécharger de modèle de langue ${reset}"
|
echo -e "${green}########### fin de l'installation sans télécharger de modèle de langue ${reset}"
|
||||||
|
Loading…
Reference in New Issue
Block a user