Compare commits

...

4 Commits

7 changed files with 174 additions and 25 deletions

7
.gitignore vendored
View File

@ -1,6 +1,13 @@
/models/fr/* /models/fr/*
/models/en/*
!/input/demo.wav !/input/demo.wav
/input/*.ogg
/input/*.mp4
/input/*.mkv
/input/*.flac
/input/*.mp3
/input/converted_to_wav/*.wav /input/converted_to_wav/*.wav
/input/already_converted/*
/output/**/*.txt /output/**/*.txt
/output/**/*.csv /output/**/*.csv
/output/**/*.json /output/**/*.json

32
flac_to_wav.sh Normal file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# utilisation: bash flac_to_wav.sh
# auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion des fichiers audio .flac placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
echo " "
cd input
mkdir already_converted
for i in *.flac; do
echo "fichier à traiter: $i"
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%flac}wav"
echo " converti en WAv, déplacement dans le dossier input/already_converted"
mv "$i" already_converted/
done
echo " "
echo "########### OK "
echo "########### fichiers flac restant dans le dossier input "
ls -l *.flac
cd ..
echo " "
COUNT_LINES_ORIGIN=$(ls -l input/*.flac |wc -l)
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
echo "########### fichiers flac dans le dossier input: $COUNT_LINES_ORIGIN "
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
exit 0

32
mkv_to_wav.sh Normal file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# utilisation: bash mkv_to_wav.sh
# auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion des fichiers audio .mkv placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
echo " "
cd input
mkdir already_converted
for i in *.mkv; do
echo "fichier à traiter: $i"
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mkv}wav"
echo " converti en WAv, déplacement dans le dossier input/already_converted"
mv "$i" already_converted/
done
echo " "
echo "########### OK "
echo "########### fichiers mkv restant dans le dossier input "
ls -l *.mkv
cd ..
echo " "
COUNT_LINES_ORIGIN=$(ls -l input/*.mkv |wc -l)
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
echo "########### fichiers mkv dans le dossier input: $COUNT_LINES_ORIGIN "
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
exit 0

View File

@ -1,20 +1,32 @@
#!/bin/bash #!/bin/bash
# utilisation: bash transcript.sh MONFICHIER.wav # utilisation: bash mp3_to_wav.sh
# auteur du script: tykayn contact@cipherbliss.com # 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" echo "########### conversion des fichiers audio .mp3 placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
echo " " echo " "
for i in input/*.mp3; do cd input
ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le "input/converted_to_wav/${i%mp3}wav" mkdir already_converted
for i in *.mp3; do
echo "fichier à traiter: $i"
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mp3}wav"
echo " converti en WAv, déplacement dans le dossier input/already_converted"
mv "$i" already_converted/
done done
echo " " echo " "
echo "########### OK " echo "########### OK "
echo "########### fichiers mp3 restant dans le dossier input "
ls -l *.mp3
cd ..
echo " " echo " "
COUNT_LINES_OGG=$(ll input/*.ogg |wc -l) COUNT_LINES_ORIGIN=$(ls -l input/*.mp3 |wc -l)
COUNT_LINES=$(ll input/converted_to_wav |wc -l) COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
echo "########### fichiers ogg dans le dossier input: $COUNT_LINES_OGG " echo "########### fichiers mp3 dans le dossier input: $COUNT_LINES_ORIGIN "
echo "########### fichiers wav dans le dossier input: $COUNT_LINES " echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
echo "########### conversion faite dans output/converted_out_without_nulls.txt" echo "########### conversion faite dans output/converted_out_without_nulls.txt"
exit 0 exit 0

32
mp4_to_wav.sh Normal file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# utilisation: bash mp4_to_wav.sh
# auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion des fichiers audio .mp4 placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
echo " "
cd input
mkdir already_converted
for i in *.mp4; do
echo "fichier à traiter: $i"
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mp4}wav"
echo " converti en WAv, déplacement dans le dossier input/already_converted"
mv "$i" already_converted/
done
echo " "
echo "########### OK "
echo "########### fichiers mp4 restant dans le dossier input "
ls -l *.mp4
cd ..
echo " "
COUNT_LINES_ORIGIN=$(ls -l input/*.mp4 |wc -l)
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
echo "########### fichiers mp4 dans le dossier input: $COUNT_LINES_ORIGIN "
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
exit 0

View File

@ -1,21 +1,32 @@
#!/bin/bash #!/bin/bash
# utilisation: bash transcript.sh MONFICHIER.wav # utilisation: bash ogg_to_wav.sh
# auteur du script: tykayn contact@cipherbliss.com # auteur du script: tykayn contact@cipherbliss.com
echo "########### conversion des fichiers audio .ogg dans le dossier input, vers du wav mono-piste uniquement, echo "########### conversion des fichiers audio .ogg placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
avec Vosk installé par pip3, et un modèle de textes en français."
echo " " echo " "
for i in input/*.ogg; do cd input
ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le "input/converted_to_wav/${i%ogg}wav" mkdir already_converted
for i in *.ogg; do
echo "fichier à traiter: $i"
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%ogg}wav"
echo " converti en WAv, déplacement dans le dossier input/already_converted"
mv "$i" already_converted/
done done
echo " " echo " "
echo "########### OK " echo "########### OK "
echo "########### fichiers ogg restant dans le dossier input "
ls -l *.ogg
cd ..
echo " " echo " "
COUNT_LINES_OGG=$(ll input/*.ogg |wc -l) COUNT_LINES_ORIGIN=$(ls -l input/*.ogg |wc -l)
COUNT_LINES=$(ll input/converted_to_wav |wc -l) COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
echo "########### fichiers ogg dans le dossier input: $COUNT_LINES_OGG " echo "########### fichiers ogg dans le dossier input: $COUNT_LINES_ORIGIN "
echo "########### fichiers wav dans le dossier input: $COUNT_LINES " echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
echo "########### conversion faite dans output/converted_out_without_nulls.txt" echo "########### conversion faite dans output/converted_out_without_nulls.txt"
exit 0 exit 0

View File

@ -6,6 +6,29 @@ echo "########### $(date) : conversion de fichier audio .WAV mono piste uniqueme
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 " "
echo "########### $(date) : fichier : $file" echo "########### $(date) : fichier : $file"
FOLDER_MODEL="fr"
# existence du modèle demandé
if [ -d "models/$FOLDER_MODEL" ]; then
echo "models/$FOLDER_MODEL le modèle est bien présent."
else
pwd
ls -l models
echo " "
echo "########### $(date) : [ERREUR] le modèle de données dans models/$FOLDER_MODEL n'existe pas, vérifiez son installation :C peut être avez vous oublié de faire une commande 'make'"
exit 1
fi
# existence du fichier demandé
if [ -f "$file" ]; then
echo "$file exists."
else
echo "########### $(date) : [ERREUR] voici les fichiers disponibles dans input/converted_to_wav: "
ls -l input/converted_to_wav
echo "########### $(date) : [ERREUR] le fichier $file n'existe PAS :C "
exit 1
fi
echo " " echo " "
FILE_NAME=$(basename $file .wav) FILE_NAME=$(basename $file .wav)
OUT_DIR=$( echo "output/$FILE_NAME") OUT_DIR=$( echo "output/$FILE_NAME")
@ -17,24 +40,24 @@ python3 ./conversion_simple_fr.py "$file" > $OUT_DIR/0_output.json
echo " " echo " "
echo "########### $(date) : nettoyer la sortie " echo "########### $(date) : nettoyer la sortie "
jq .text $OUT_DIR/0_output.json > $OUT_DIR/1_converted.txt jq .text $OUT_DIR/0_output_$FILE_NAME.json > $OUT_DIR/1_converted_$FILE_NAME.txt
sed 's/null//g' $OUT_DIR/1_converted.txt > $OUT_DIR/2_without_nulls.txt sed 's/null//g' $OUT_DIR/1_converted_$FILE_NAME.txt > $OUT_DIR/2_without_nulls_$FILE_NAME.txt
sed 's/^ *//; s/ *$//; /^$/d' $OUT_DIR/2_without_nulls.txt > $OUT_DIR/3_without_nulls.txt sed 's/^ *//; s/ *$//; /^$/d' $OUT_DIR/2_without_nulls_$FILE_NAME.txt > $OUT_DIR/3_without_nulls_$FILE_NAME.txt
sed 's/\"//g' $OUT_DIR/3_without_nulls.txt > $OUT_DIR/4_phrases.txt sed 's/\"//g' $OUT_DIR/3_without_nulls_$FILE_NAME.txt > $OUT_DIR/4_phrases_$FILE_NAME.txt
echo "########### $(date) : OK " echo "########### $(date) : OK "
echo " " echo " "
COUNT_LINES=$(cat $OUT_DIR/phrases.txt |wc -l) COUNT_LINES=$(cat $OUT_DIR/4_phrases_$FILE_NAME.txt |wc -l)
cat $OUT_DIR/4_phrases.txt cat $OUT_DIR/4_phrases_$FILE_NAME.txt
echo " " echo " "
echo "########### $(date) : lignes transcriptes $COUNT_LINES " echo "########### $(date) : lignes transcriptes $COUNT_LINES "
echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt" echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt"
echo "########### $(date) : conversion de la sortie en pseudo fichier de sous titres" echo "########### $(date) : conversion de la sortie en pseudo fichier de sous titres"
perl clean.sh $OUT_DIR/0_output.json > $OUT_DIR/5_phrases_min_sec.txt perl clean.sh $OUT_DIR/0_output_$FILE_NAME.json > $OUT_DIR/5_phrases_min_sec_$FILE_NAME.txt
cat $OUT_DIR/5_phrases_min_sec.srt cat $OUT_DIR/5_phrases_min_sec.srt
echo "########### $(date) : conversion de la sortie en fichier de sous titres " echo "########### $(date) : conversion de la sortie en fichier de sous titres "
python3 ./extract_srt.py "$file" > $OUT_DIR/5_output.srt python3 ./extract_srt.py "$file" > $OUT_DIR/5_output_$FILE_NAME.srt
ls -l $OUT_DIR ls -l $OUT_DIR