Compare commits
No commits in common. "334cb218c2749171babdb4d5411dd2b7c9586e8a" and "5d145e8d5ded4e0189b3f6fab0028b9f4fd6262f" have entirely different histories.
334cb218c2
...
5d145e8d5d
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,6 +1,5 @@
|
|||||||
/models/fr/*
|
/models/*
|
||||||
!/input/demo.wav
|
!/input/demo.wav
|
||||||
/input/converted_to_wav/*.wav
|
/input/converted_to_wav/*.wav
|
||||||
/output/*.txt
|
/output/*.txt
|
||||||
/output/*.csv
|
/output/*.csv
|
||||||
/output/*.srt
|
|
||||||
|
2
Makefile
2
Makefile
@ -3,5 +3,3 @@ install:
|
|||||||
bash install.sh
|
bash install.sh
|
||||||
convert:
|
convert:
|
||||||
bash convert_from_wav.sh $(args)
|
bash convert_from_wav.sh $(args)
|
||||||
srt:
|
|
||||||
perl clean.sh $(args) > output/clean.srt
|
|
||||||
|
11
README.md
11
README.md
@ -6,14 +6,13 @@ configuration pour transcrire des fichiers audio wav avec Vosk
|
|||||||
|
|
||||||
### installation
|
### installation
|
||||||
#### Prérequis
|
#### Prérequis
|
||||||
* python3 (pour l'école serpentard)
|
* python3
|
||||||
* pip (gestionnaire de paquets python)
|
* pip
|
||||||
* git (gestion de version)
|
* git
|
||||||
* jq (pour le nettoyage de fichier json)
|
* jq
|
||||||
* ffmpeg (pour la conversion vers wav)
|
|
||||||
pour les installer avec aptitude
|
pour les installer avec aptitude
|
||||||
```
|
```
|
||||||
sudo apt install jq python3-pip git ffmpeg
|
sudo apt install jq python3-pip git
|
||||||
```
|
```
|
||||||
|
|
||||||
#### cloner ce dépot dans un dossier de travail
|
#### cloner ce dépot dans un dossier de travail
|
||||||
|
28
clean.sh
28
clean.sh
@ -1,28 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
|
|
||||||
# Script de transformation de la sortie (json) de vosk.
|
|
||||||
|
|
||||||
use strict; use warnings;
|
|
||||||
use feature qw(say);
|
|
||||||
|
|
||||||
open(F,$ARGV[0]) or die("Le script a besoin du fichier de sortie Vosk en argument.");
|
|
||||||
undef $/;
|
|
||||||
my $json = <F>;
|
|
||||||
close(F);
|
|
||||||
|
|
||||||
while ($json =~ m@(\{\s+"result" :.+?"text" :.+?\})@gs) {
|
|
||||||
my $resultat = $1;
|
|
||||||
# Récupération de la seconde initiale de la séquence
|
|
||||||
my ($debut) = ($resultat) =~ m@"start" : ([^,]+),@s;
|
|
||||||
# Récupération du texte
|
|
||||||
my ($texte) = ($resultat) =~ m@"text" : "(.+?)"@s;
|
|
||||||
|
|
||||||
# Transformation de la seconde en minutes-secondes
|
|
||||||
my ($minutes,$secondes) = (0,$debut);
|
|
||||||
$minutes = int($debut / 60);
|
|
||||||
$secondes = int($debut % 60);
|
|
||||||
map { $_ = "0" . $_ if $_ < 10; } ($minutes,$secondes);
|
|
||||||
|
|
||||||
# Affichage du résultat dans le terminal.
|
|
||||||
say join("\t","[$minutes'$secondes]",$texte);
|
|
||||||
}
|
|
@ -23,7 +23,4 @@ cat output/converted_out_without_nulls.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 fichier de sous titres"
|
|
||||||
perl clean.sh output/converted_output.txt > output/output.srt
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
46
install.sh
46
install.sh
@ -1,47 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 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
|
||||||
green=`tput setaf 2`
|
|
||||||
cyan=`tput setaf 4`
|
|
||||||
reset=`tput sgr0`
|
|
||||||
|
|
||||||
# echo -e "${green}########### $(date) installation des prérequis: jq, python3-pip ${reset}"
|
echo "########### installation de vosk avec python3, documentation: https://alphacephei.com/vosk/install "
|
||||||
# echo " "
|
|
||||||
# if hash -v apt &> /dev/null
|
|
||||||
# then
|
|
||||||
# echo "installation de JQ et python3-pip"
|
|
||||||
# apt install jq python3-pip
|
|
||||||
# fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo -e "${green}########### installation de vosk avec python3, documentation: https://alphacephei.com/vosk/install ${reset}"
|
|
||||||
echo " "
|
echo " "
|
||||||
echo -e "${green}########### informations sur votre système: ${reset}"
|
|
||||||
echo -e " ${cyan}"
|
|
||||||
lsb_release -a
|
|
||||||
python3 --version
|
|
||||||
pip3 --version
|
|
||||||
echo -e " ${reset}"
|
|
||||||
pip3 -v install vosk
|
pip3 -v install vosk
|
||||||
echo "${green}########### récupération du modèle de reconnaissance en Français sous licence aGPL, taille: 1.6Go. Choix des modèles disponibles: https://alphacephei.com/vosk/models ${reset}"
|
echo "########### récupération du modèle de reconnaissance en Français sous licence aGPL, taille: 1.6Go. Choix des modèles disponibles: https://alphacephei.com/vosk/models"
|
||||||
echo " "
|
echo " "
|
||||||
mkdir -p models/fr
|
wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0.zip
|
||||||
echo -e "${green}########### Procéder au téléchargement du modèle Français (1.6go) pour transcrire les textes ?${reset} (écrivez o pour oui et faites entrée pour valider) ${reset}"
|
unzip vosk-model-fr-0.6-linto-2.2.0.zip
|
||||||
read proceed
|
mv vosk-model-fr-0.6-linto-2.2.0 models/
|
||||||
if [[ $proceed == o* ]]; then
|
mv models/vosk-model-fr-0.6-linto-2.2.0 models/fr
|
||||||
echo "C'est parti."
|
|
||||||
wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0.zip
|
|
||||||
echo -e "${green}########### téléchargement du modèle OK ${reset}"
|
|
||||||
unzip vosk-model-fr-0.6-linto-2.2.0.zip -d models/fr
|
|
||||||
echo -e "${green}########### décompression du modèle OK ${reset}"
|
|
||||||
ls -l models/fr
|
|
||||||
else
|
|
||||||
echo -e "${green}########### vous n'avez pas souhaité télécharger le modèle ${reset}"
|
|
||||||
echo -e "${green}########### fin de l'installation sans télécharger de modèle de langue ${reset}"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
echo "########### installation ok"
|
||||||
|
|
||||||
echo -e "${green}########### installation ok ${reset}"
|
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# utilisation: bash convert_from_wav.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"
|
|
||||||
echo " "
|
|
||||||
for i in input/*.mp3; do
|
|
||||||
ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le "input/converted_to_wav/${i%mp3}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
|
|
Loading…
Reference in New Issue
Block a user