rename some files, update readme

This commit is contained in:
Tykayn 2021-02-19 11:08:13 +01:00 committed by tykayn
parent 334cb218c2
commit 3a60202b99
8 changed files with 50 additions and 39 deletions

7
.gitignore vendored
View File

@ -1,6 +1,7 @@
/models/fr/*
!/input/demo.wav
/input/converted_to_wav/*.wav
/output/*.txt
/output/*.csv
/output/*.srt
/output/**/*.txt
/output/**/*.csv
/output/**/*.json
/output/**/*.srt

View File

@ -2,6 +2,6 @@ default: install
install:
bash install.sh
convert:
bash convert_from_wav.sh $(args)
bash transcript.sh $(args)
srt:
perl clean.sh $(args) > output/clean.srt

View File

@ -21,7 +21,7 @@ sudo apt install jq python3-pip git ffmpeg
git clone https://forge.chapril.org/tykayn/transcription.git && cd transcription
```
* installer vosk via le MakeFile, nécessite python3 pip. une fois dans votre dossier de transcription fraîchement cloné, faites la commande:
* 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
```
@ -34,10 +34,11 @@ make convert file=input/demo.wav
n'oubliez pas l'argument `file=`
* la sortie texte de la transcription se trouve dans output `output/converted_out_without_nulls.txt` et devrait être affichée à la fin de l'exécution du script.
* 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.
* 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.

View File

@ -1,29 +0,0 @@
#!/bin/bash
# utilisation: bash convert_from_wav.sh MONFICHIER.wav
# auteur du script: tykayn contact@cipherbliss.com
echo "########### $(date) : conversion de fichier audio .WAV mono piste uniquement,
avec Vosk installé par pip3, et un modèle de textes en français."
echo " "
echo "########### $(date) : fichier : $file"
echo " "
python3 ./conversion_simple_fr.py "$file" > output/converted_output.txt
echo " "
echo "########### $(date) : nettoyer la sortie "
jq .text output/converted_output.txt > output/converted_cleaned_with_null.txt
sed 's/null//g' output/converted_cleaned_with_null.txt > output/converted_out_without_nulls.txt
sed 's/^ *//; s/ *$//; /^$/d' output/converted_out_without_nulls.txt > output/converted_out_without_nulls2.txt
sed 's/\"//g' output/converted_out_without_nulls2.txt > output/converted_out_without_nulls3.txt
echo "########### $(date) : OK "
echo " "
COUNT_LINES=$(cat output/converted_out_without_nulls3.txt |wc -l)
cat output/converted_out_without_nulls.txt
echo " "
echo "########### $(date) : lignes transcriptes $COUNT_LINES "
echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt"
echo "########### $(date) : conversion de la sortie en fichier de sous titres"
perl clean.sh output/converted_output.txt > output/output.srt
exit 0

View File

@ -1,5 +1,5 @@
#!/bin/bash
# utilisation: bash convert_from_wav.sh MONFICHIER.wav
# utilisation: bash transcript.sh MONFICHIER.wav
# auteur du script: tykayn contact@cipherbliss.com
green=`tput setaf 2`
cyan=`tput setaf 4`

View File

@ -1,5 +1,5 @@
#!/bin/bash
# utilisation: bash convert_from_wav.sh MONFICHIER.wav
# utilisation: bash transcript.sh MONFICHIER.wav
# auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion des fichiers audio .ogg placés dans le dossier input, vers du wav mono-piste uniquement"

View File

@ -1,5 +1,5 @@
#!/bin/bash
# utilisation: bash convert_from_wav.sh MONFICHIER.wav
# utilisation: bash transcript.sh MONFICHIER.wav
# auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion des fichiers audio .ogg dans le dossier input, vers du wav mono-piste uniquement,

38
transcript.sh Normal file
View File

@ -0,0 +1,38 @@
#!/bin/bash
# utilisation: bash transcript.sh MONFICHIER.wav
# auteur du script: tykayn contact@cipherbliss.com
echo "########### $(date) : conversion de fichier audio .WAV mono piste uniquement,
avec Vosk installé par pip3, et un modèle de textes en français."
echo " "
echo "########### $(date) : fichier : $file"
echo " "
FILE_NAME=$(basename $file .wav)
OUT_DIR=$( echo "output/$FILE_NAME")
mkdir output/$FILE_NAME
python3 ./conversion_simple_fr.py "$file" > $OUT_DIR/0_output.json
echo " "
echo "########### $(date) : nettoyer la sortie "
jq .text $OUT_DIR/0_output.json > $OUT_DIR/1_converted.txt
sed 's/null//g' $OUT_DIR/1_converted.txt > $OUT_DIR/2_without_nulls.txt
sed 's/^ *//; s/ *$//; /^$/d' $OUT_DIR/2_without_nulls.txt > $OUT_DIR/3_without_nulls.txt
sed 's/\"//g' $OUT_DIR/3_without_nulls.txt > $OUT_DIR/4_phrases.txt
echo "########### $(date) : OK "
echo " "
COUNT_LINES=$(cat $OUT_DIR/phrases.txt |wc -l)
cat $OUT_DIR/4_phrases.txt
echo " "
echo "########### $(date) : lignes transcriptes $COUNT_LINES "
echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt"
echo "########### $(date) : conversion de la sortie en fichier de sous titres"
perl clean.sh $OUT_DIR/0_output.json > $OUT_DIR/5_phrases.srt
cat $OUT_DIR/5_phrases.srt
ls -l $OUT_DIR
echo "########### $(date) : conversion faite "
exit 0