Skip to main content

Breton language speech-to-text tools

Project description

pypi version License: MIT

anaouder-cli

Breton flag E brezhoneg | 🇫🇷 Lire en français | 🇬🇧 Read in English

Reconnaissance vocale pour le breton avec Vosk.

Ce projet est développé bénévolement. Vous pouvez le soutenir par un don : Liberapay

⚠️ Ceci est un outil en ligne de commande. Si vous cherchez l'application graphique, c'est ici

Présentation

Modèle de reconnaissance vocale (speech-to-text) entraîné avec le framework Kaldi, au format Vosk.
Il est accompagné de scripts permettant la retranscription automatique de fichiers audio et video, l'alignement texte/son pour la création de sous-titres, ou encore l'inférence en temps réel à l'aide d'un microphone.

Principaux avantages :

  • Léger. Les modèles Vosk pèsent moins de 100 Mo et peuvent tourner sur une large gamme d'appareils : ordinateurs sans GPU, RaspberryPi, smartphone Android...
  • Rapide. L'inférence se fait en temps réel, même sur une machine un peu datée.
  • Local. Fonctionne sans connexion internet. Vos données restent donc sur votre appareil.
  • Libre et gratuit. La licence MIT vous permet de modifier le logiciel et de l'intégrer dans d'autres applications.

Le nombre d'heures d'enregistrement audio utilisé pour entraîner le modèle est relativement faible mais progresse peu à peu. En dehors du projet Common Voice de Mozilla, les enregistrements retranscrits libres de droit sont rares pour le breton. Toute aide sur ce terrain sera la bienvenue !

Installation

Les scripts nécessitent l'installation de Python3. L'installation du module de reconnaissance vocale se fera ensuite dans un terminal, en exécutant la commande suivante :

pip3 install anaouder

Une fois installé, et à mesure que de nouvelles versions du modèle de reconnaissance vocale seront proposées, vous pourrez mettre à jour le logiciel avec :

pip3 install --upgrade anaouder

Retranscrire un fichier audio ou video

Une fois le module installé, la commande adskrivan permet de retranscrire un fichier audio ou video depuis le terminal. A la première exécution de la commande, il vous faudra patienter le temps de l'installation du module static_ffmpeg (programme de conversion pour les fichiers audio/video). Cette installation ne se fera qu'une seule fois.

adskrivan NOM_DU_FICHIER

Le résultat de la transcription s'affichera dans le terminal par défaut. Vous pouvez toutefois préciser le nom d'un fichier dans lequel écrire, avec l'option -o

adskrivan NOM_DU_FICHIER -o SORTIE.txt

Utilisation avec un microphone

Depuis un terminal, invoquez la commande mikro.

Si aucun texte n'apparaît, vous pouvez afficher la liste des interfaces audio avec la commande :

mikro -l

Vous pourrez ensuite préciser, en argument, le numéro de l'interface à utiliser pour l'inférence :

mikro -d NUMERO_INTERFACE

Alignement d'un texte d'après un audio

Il est possible d'aligner un texte d'après un fichier audio ou video à l'aide de la commande linennan. Vous obtiendrez un fichier contenant le texte original, accompagné de marqueurs temporels, au format srt (fichier de sous-titres Subrip).
Le fichier texte doit être un texte brut (extension .txt) où chaque ligne correspondra à une ligne de sous-titre.

linennan FICHIER_SON_OU_VIDEO FICHIER_TEXTE -o sous-titres.srt

(export au format eaf, pour le logiciel ELAN, à venir...)

Création automatique de sous-titres

Vous pouvez également laisser le modèle de reconnaissance vocale retranscrire les paroles pour la création de sous-titres, au format srt (Subrip).

istitlan FICHIER_SON_OU_VIDEO

Utilisation du modèle avec d'autres logiciel

L'utilisation du modèle brut dans d'autres logiciel est possible mais n'est pas conseillé, puisque qu'elle omettra le post-traitement proposé par le module anaouder : le replacement des tirets de liaison et la normalisation-inverse des nombres notamment.

Le modèle brut est accessible sous le dossier anaouder/models ou par le lien releases.

Audapolis

Il est possible d'utiliser le modèle avec le logiciel Audapolis, qui offre également le confort d'une interface graphique.

Kdenlive

Le logiciel de montage video Kdenlive permet l'utilisation de modèles Vosk pour la retranscription automatique de sous-titres.
Voir la documentation.

Remerciements

Le développement de cet outil a été possible grâce aux logiciels libres sur lesquels il se base : Kaldi, Vosk et le correcteur automatique Hunspell de An Drouizig.
Le modèle de reconnaissance vocale n'aurait jamais pu être entraîne sans les voix et les textes de nombreux contributeurs, issus de : Becedia, Brezhoweb, Dastum, Dizale, Kaouen.net, Mozilla Common Voice, RKB et l'Ofice Public de la Langue Bretonne
Je remercie enfin Elen Cariou, Jean-Mari Ollivier, Karen Treguier, Mélanie Jouitteau, Pêr Morvan et l'association An Drouizig pour leur aide et leur soutien.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anaouder-1.0.5.tar.gz (77.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anaouder-1.0.5-py3-none-any.whl (84.5 kB view details)

Uploaded Python 3

File details

Details for the file anaouder-1.0.5.tar.gz.

File metadata

  • Download URL: anaouder-1.0.5.tar.gz
  • Upload date:
  • Size: 77.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for anaouder-1.0.5.tar.gz
Algorithm Hash digest
SHA256 4c7d60196a3016dc208c3d46a27ca5abec66ed2e8871757e648dfab97fd87e3c
MD5 5d1cec520035ed207024023954417247
BLAKE2b-256 9facc79275b8699ce0a68db98f21dad678717e670f0f20be3829a7646091b6c9

See more details on using hashes here.

File details

Details for the file anaouder-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: anaouder-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 84.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for anaouder-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 158ee0ea06c111e4b2fb234a9154d773f0f8b0c6ff0d96873023757d70e46bc4
MD5 0fd9cfda77d89e83bc180e24076a824b
BLAKE2b-256 d3621e074400a45b43ff341fe0ffbfeb1beffa09df8673c0e4aeb6b2eab2f524

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page