🎧 vous voulez faire de la transcription audio de #podcast ou de sons avec le logicielLibre #vosk qui fonctionne hors ligne ?
essayez ceci https://forge.chapril.org/tykayn/transcription
@tykayn Merci \o/
NB : faudrait sauter à la ligne dans la partie Liens pour plus de lisibilité :-)
@Khrys oui on me l'a signalé aussi par ailleurs, j'ai clarifié les liens :)
@Khrys @tykayn il faut en fait faire git clone https://forge.chapril.org/tykayn/transcription.git
@tykayn
La sortie JSON de vosk est assez verbeuse, et pas directement exploitable.
J'ai fait un script perl de transformation que j'ai mis ici : https://paste.chapril.org/?4bdcfbb01ab66619#Gn2ZDTrRid3dDrKL79gPS9H3edNCRJxN5QrdJKu3m4ZT
Ça prend le JSON en entrée, et ça sort les séquences de texte avec le timing de début du premier mot : "[23'12] ceci est un texte"
=========
Note pour les puristes : oui, ça parse du JSON avec des regex et c'est MAL. Mais au moins, pas de problèmes de dépendances ^^
@tykayn Je vais retester... ;-)
@Bristow_69 @aprilorg j'ai fait un essai avec une vidéo sur peertube et mis les sous titres bruts sortis du transcodage, ça marche pas mal, et ça fait gagner un temps fou.
démo ici de sous titre fr sur cette vidéo super bien de captain moustache pour #osm
https://peertube.cipherbliss.com/videos/watch/89b0bc49-8790-459b-acfe-77bd68bc65e0
des erreurs et des coupures de phrases à corriger, mais globalement très utile
En effet, c'est vraiment chouette !!
VOSK est signalé sur l'issue PT ici : https://github.com/Chocobozzz/PeerTube/issues/3325
@Bristow_69 @aprilorg
merci!
si tu arrives a faire marcher le dépot en suivant la documentation (si tu as la foi de faire de la ligne de commande) tu me dis :)
j'en ai profité pour parler de ce dépot de transcription dans l'issue, si ça peut mâcher le travail a quiconque aurait envie de faire un plugin pour #peertube
@tykayn
J'en avais discuté avec @booteille ; l'une des difficultés est que vosk est gourmand en ressources (en tout cas dans l'utilisation python, offline). Mais s'il y a moyen de contourner ce problème...
@Bristow_69 @aprilorg
@tykayn
Du coup, j'ai testé et je n'arrive pas à transcrire un court podcast, j'ai une grosse erreur.
J'ai fait le wav avec ffmpeg : ffmpeg -i podcast.mp3 -ac 1 podcast.wav)
Voici le retour :
https://paste.chapril.org/?1f59a6970fd6daa0#tFqgEKJ6JRuVvt23DQWNdUbkec9fLABvRzqZX3N5LUv
Sinon, install sans soucis ! Mais je remarque que le fichier models/fr/mfcc.conf n'existe pas, dans fr/ j'ai uniquement ce dossier vosk-model-fr-0.6-linto-2.2.0. Le fichier mfcc.conf est dans
transcription/models/fr/vosk-model-fr-0.6-linto-2.2.0/conf
Cela doit venir de cela...
@Bristow_69
Oui, on dirait bien.
@tykayn
On peut tenter de garder le paramétrage initial (models et pas models/fr) en faisant juste un symlink. Je tente.
Pour tester sans avoir à tout réinstaller, est-ce que tu pourrais faire les modifs suivantes :
mv models/fr vosk-model-fr-0.6-linto-2.2.0; ln -s vosk-model-fr-0.6-linto-2.2.0 model;
Puis récupérer cette version du fichier de transcription : https://forge.chapril.org/symeon/transcription/src/branch/master/conversion_simple_fr.py
(pull request en cours)
Ça donne quoi ?
@tykayn
@Bristow_69
il faut que le contenu du zip soit dans models/fr , je dirai que le contenu est un dossier plus loin. un simple couper coller vers fr devrait faire l'affaire
@r_a
@Bristow_69
Oui, pardon, il me manquait le dernier sous-dossier.
Le plus simple, si tu as toujours le zip, c'est de supprimer les *dossiers* créés (le dossier vosk-model-fr-0.6-linto-2.2.0 et le symlink), puis de dézipper le zip sans option, et créer de nouveau le symlink :
unzip vosk-model-fr-0.6-linto-2.2.0.zip; ln -s vosk-model-fr-0.6-linto-2.2.0 model
Merci, cela fonctionne bien mieux \o/
Toutefois, le log me fait un coredump, j'ai bien les phrases retranscrites mais la fin semble bizarre (le fichier 5_phrases_min_sec.txt est ok)
https://paste.chapril.org/?e6dfa5b167d43705#6UHzPKTJrGvv4Uzy4L9NTrdEnAQuWV2CoaxdrmAZ4bea
@Bristow_69 @aprilorg
si d'autres veulent améliorer le fichier de sous titre voici un pad avec des corrections
nouvelle règle dans le readme
installez avec "make"
convertissez le fichier de démo avec "make convert file=input/demo.wav"