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/en/*
!/input/demo.wav
/input/*.ogg
/input/*.mp4
/input/*.mkv
/input/*.flac
/input/*.mp3
/input/converted_to_wav/*.wav
/input/already_converted/*
/output/**/*.txt
/output/**/*.csv
/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
# utilisation: bash transcript.sh MONFICHIER.wav
# utilisation: bash mp3_to_wav.sh
# 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 " "
for i in input/*.mp3; do
ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le "input/converted_to_wav/${i%mp3}wav"
cd input
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
echo " "
echo "########### OK "
echo "########### fichiers mp3 restant dans le dossier input "
ls -l *.mp3
cd ..
echo " "
COUNT_LINES_OGG=$(ll input/*.ogg |wc -l)
COUNT_LINES=$(ll input/converted_to_wav |wc -l)
COUNT_LINES_ORIGIN=$(ls -l input/*.mp3 |wc -l)
COUNT_LINES=$(ls -l 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 "########### fichiers mp3 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
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
# utilisation: bash transcript.sh MONFICHIER.wav
# utilisation: bash ogg_to_wav.sh
# 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 "########### conversion des fichiers audio .ogg placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
echo " "
for i in input/*.ogg; do
ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le "input/converted_to_wav/${i%ogg}wav"
cd input
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
echo " "
echo "########### OK "
echo "########### fichiers ogg restant dans le dossier input "
ls -l *.ogg
cd ..
echo " "
COUNT_LINES_OGG=$(ll input/*.ogg |wc -l)
COUNT_LINES=$(ll input/converted_to_wav |wc -l)
COUNT_LINES_ORIGIN=$(ls -l input/*.ogg |wc -l)
COUNT_LINES=$(ls -l 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 "########### fichiers ogg 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

@ -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."
echo " "
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 " "
FILE_NAME=$(basename $file .wav)
OUT_DIR=$( echo "output/$FILE_NAME")
@ -17,24 +40,24 @@ 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
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/^ *//; 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
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_$FILE_NAME.txt > $OUT_DIR/3_without_nulls_$FILE_NAME.txt
sed 's/\"//g' $OUT_DIR/3_without_nulls_$FILE_NAME.txt > $OUT_DIR/4_phrases_$FILE_NAME.txt
echo "########### $(date) : OK "
echo " "
COUNT_LINES=$(cat $OUT_DIR/phrases.txt |wc -l)
cat $OUT_DIR/4_phrases.txt
COUNT_LINES=$(cat $OUT_DIR/4_phrases_$FILE_NAME.txt |wc -l)
cat $OUT_DIR/4_phrases_$FILE_NAME.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 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
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