forked from tykayn/transcription
rename some files, update readme
This commit is contained in:
parent
334cb218c2
commit
3a60202b99
7
.gitignore
vendored
7
.gitignore
vendored
@ -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
|
||||
|
2
Makefile
2
Makefile
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
@ -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`
|
||||
|
@ -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"
|
||||
|
@ -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
38
transcript.sh
Normal 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
|
Loading…
Reference in New Issue
Block a user