Pour faire suite à ma question précédente, je me demandais s'il existait des bibliothèques de détection de la parole. Par détection de la parole, je veux dire passer dans un tampon audio et récupérer un index d'où la parole commence et s'arrête. Donc, si j'ai 10 secondes d'échantillonnage audio à 44 kHz, je m'attendrais à un tableau de nombres tels que:
44000
88000
123000
190334
...
Cela indiquerait par exemple que la parole commence une seconde puis se termine aux deux secondes, etc.
Ce que je ne recherche pas, c'est la reconnaissance vocale qui écrit du texte à partir de la parole. C'est malheureusement ce que je vois beaucoup quand je google «détection de la parole».
Ce serait génial si la bibliothèque était en C, C ++ ou même Objective-C car j'écris une application pour l'iPhone.
Merci!
Réponses:
Dans ma réponse à votre question, j'avais mentionné que la détection d'activité vocale est une fonctionnalité standard pour les codecs comme G.729 et autres.
Vous devez rechercher des encodeurs et décodeurs de référence pour les algorithmes qui appliquent cela.
Un tel exemple est - http://www.voiceage.com/openinit_g729.php
Une autre source possible est le codec Speex. Qui implémente VAD
BTW: Vous devriez google "Détection d'activité vocale" ou "Talk Spurt" plutôt que "Détection de la parole".
la source
Il existe des implémentations open source dans les projets Sphinx et Freeswitch. Je pense que ce sont tous des détecteurs à base d'énergie qui n'auront pas besoin de modèle.
Sphinx 4 (Java mais il devrait être facile de porter en C / C ++)
PocketSphinx
Freeswitch
Réponse tirée de la question Stackoverflow .
la source
La détection d'activité vocale à l'aide du seuil adaptatif est très facile et pratique à mettre en œuvre sur n'importe quelle plate-forme
Ici, vous pouvez avoir un algorithme basé sur l'énergie adaptative
Petit ajout à l'algorithme ci-dessus lorsque vous calculez pour la toute première fois, prenez la moyenne d'énergie et marquez comme Emin
dans ce cadre, le cadre que vous passez est divisé en sous-cadres et vous pouvez ensuite examiner chaque sous-cadre pour son activité
vous pouvez surmonter d'autres problèmes avec des cadres qui se chevauchent
la source
Et LibVAD?
On dirait que ça fait exactement ce que vous décrivez.
Divulgation: je suis le développeur derrière LibVAD
la source