change conversion and readme

This commit is contained in:
Tykayn 2021-02-18 15:46:55 +01:00 committed by tykayn
parent ca0144e03a
commit 5a6c322d13
10 changed files with 72 additions and 24 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
/models/* /models/*
!/input/demo.wav
/input/converted_to_wav/*.wav
/output/*.txt /output/*.txt
/output/*.csv /output/*.csv

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/transcription-vosk.iml" filepath="$PROJECT_DIR$/.idea/transcription-vosk.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/models" />
<excludeFolder url="file://$MODULE_DIR$/input/converted_to_wav" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -2,4 +2,4 @@ default: install
install: install:
bash install.sh bash install.sh
convert: convert:
bash convert_from_wav.sh $1 bash convert_from_wav.sh $(args)

View File

@ -15,7 +15,7 @@ configuration pour transcrire des fichiers audio wav avec Vosk
git clone https://forge.chapril.org/tykayn/transcription.git && cd transcription git clone https://forge.chapril.org/tykayn/transcription.git && cd transcription
``` ```
* installer vosk via le MakeFile, nécessite python3 pip. faites la commande: * installer vosk via le MakeFile, nécessite python3 pip. une fois dans votre dossier de transcription fraîchement cloné, faites la commande:
``` ```
make make
``` ```
@ -23,8 +23,11 @@ make
* le convertir en wav mono (avec audacity par exemple) * 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! * lancer la transcription du wav mono. Une démo est disponible, extraite de l'émission Libre à vous!
``` ```
make convert input/demo.wav 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/converted_out_without_nulls.txt` et devrait être affichée à la fin de l'exécution du script.
# Précisions # Précisions
@ -45,9 +48,3 @@ make convert input/demo.wav
* site officiel de [Vosk : installation](https://alphacephei.com/vosk/install) , [modèles de langue](https://alphacephei.com/vosk/models) * site officiel de [Vosk : installation](https://alphacephei.com/vosk/install) , [modèles de langue](https://alphacephei.com/vosk/models)
* [site cipherbliss.com](https://www.cipherbliss.com/) * [site cipherbliss.com](https://www.cipherbliss.com/)
* [@tykayn](https://mastodon.cipherbliss.com/@tykayn) sur Mastodon. * [@tykayn](https://mastodon.cipherbliss.com/@tykayn) sur Mastodon.

View File

@ -2,30 +2,25 @@
# utilisation: bash convert_from_wav.sh MONFICHIER.wav # utilisation: bash convert_from_wav.sh MONFICHIER.wav
# auteur du script: tykayn contact@cipherbliss.com # auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion de fichier audio .WAV mono piste uniquement, echo "########### $(date) : conversion de fichier audio .WAV mono piste uniquement,
avec Vosk installé par pip3, et un modèle de textes en français." avec Vosk installé par pip3, et un modèle de textes en français."
echo " " echo " "
# if [-f $1] echo "########### $(date) : fichier : $file"
# echo " fichier non trouvé: $1" echo " "
# ls -larth input python3 ./conversion_simple_fr.py "$file" > output/converted_output.txt
# exit 1
# fi
python3 ./conversion_simple_fr.py $1 > output/converted_output.txt
echo " " echo " "
echo "########### nettoyer la sortie " echo "########### $(date) : nettoyer la sortie "
echo " "
jq .text output/converted_output.txt > output/converted_cleaned_with_null.txt 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/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/^ *//; 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 sed 's/\"//g' output/converted_out_without_nulls2.txt > output/converted_out_without_nulls3.txt
echo "########### $(date) : OK "
echo " "
echo "########### OK "
echo " " echo " "
COUNT_LINES=$(cat output/converted_out_without_nulls3.txt |wc -l) COUNT_LINES=$(cat output/converted_out_without_nulls3.txt |wc -l)
cat output/converted_out_without_nulls.txt
echo "########### lignes transcriptes $COUNT_LINES " echo " "
echo "########### conversion faite dans output/converted_out_without_nulls.txt" echo "########### $(date) : lignes transcriptes $COUNT_LINES "
echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt"
exit 0 exit 0

View File

21
ogg_to_wav.sh Normal file
View File

@ -0,0 +1,21 @@
#!/bin/bash
# utilisation: bash convert_from_wav.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,
avec Vosk installé par pip3, et un modèle de textes en français."
echo " "
for i in input/*.ogg; do
ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le "input/converted_to_wav/${i%ogg}wav"
done
echo " "
echo "########### OK "
echo " "
COUNT_LINES_OGG=$(ll input/*.ogg |wc -l)
COUNT_LINES=$(ll input/converted_to_wav |wc -l)
echo "########### fichiers ogg dans le dossier input: $COUNT_LINES_OGG "
echo "########### fichiers wav dans le dossier input: $COUNT_LINES "
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
exit 0