L'analyse Audio pour détecter la voix humaine, le sexe, l'âge et l'émotion - tout avant d'ouvrir-source?

y a-t-il des travaux en open-source antérieurs effectués dans le domaine de l '"analyse Audio" pour détecter la voix humaine (disons en dépit d'un certain bruit de fond), déterminer le sexe du locuteur, peut-être déterminer Non. des orateurs, l'âge des orateurs et l'émotion des orateurs?

mon intuition est que le logiciel de reconnaissance vocale comme CMU Sphinx pourrait être un bon endroit pour commencer, mais s'il y a quelque chose de mieux, ce serait génial.

22
demandé sur Ben Brocka 2011-02-21 06:39:16

3 réponses

je suis un étudiant diplômé qui fait de la recherche sur la reconnaissance de la parole. Ce sont des problèmes de recherche ouverte, et, malheureusement, je ne suis pas au courant de paquets open-source qui peuvent faire ces choses hors de la boîte.

si vous avez de l'expérience dans la mise en œuvre d'algorithmes de traitement de signal ou d'apprentissage automatique, vous pouvez essayer de chercher des documents universitaires en utilisant certains de ces termes de recherche:

  • identification du sexe (parfois appelée sexe reconnaissance): prédire le sexe du locuteur à partir de l'énoncé du discours
  • identification de l'âge: prévision de l'âge du locuteur
  • identification du locuteur: prédire, à partir d'un ensemble d'intervenants possibles, les plus susceptibles de haut-parleur dans un discours, l'énonciation
  • vérification du locuteur: accepter ou rejeter un énoncé comme appartenant à un locuteur (imaginez un système d'autorisation de type "voiceprint")
  • haut-parleur diarisation: prise d'un fichier audio avec plusieurs fichiers et l'étiquetage des segments de la parole appartiennent à quel haut-parleur
  • la reconnaissance des émotions: la prédiction de l'enceinte de l'émotion à partir d'un discours de l'énonciation (un tout nouveau domaine de recherche).

selon http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification , CMU Sphinx, qui est probablement le premier Open-source speech recognizer out là, ne supporte pas l'identification des haut-parleurs ( http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification ); je doute qu'elle possède les autres capacités décrites ci-dessus.

certains chercheurs universitaires affichent leur code en ligne, et / ou pourraient être disposés à le partager avec vous. Une recherche de Google Scholar révèle de nombreuses personnes qui ont écrit des thèses de maîtrise ou de doctorat en utilisant Sphinx, ce qui pourrait être un bon endroit pour commencer.

enfin, vous pourriez essayer de mettre en œuvre un algorithme de reconnaissance de genre très rudimentaire sans entrer dans la reconnaissance de la parole elle-même, si vous connaissez un peu le traitement du signal. Fondamentalement, les voix masculines et féminines diffèrent dans leur fréquence fondamentale - selon Wikipedia ( http://en.wikipedia.org/wiki/Voice_frequency ), les voix masculines se situent entre 85 et 180Hz, alors que les voix féminines se situent entre 165Hz et 255Hz. Vous pourriez utiliser quelque chose comme sox pour déterminez le spectre de fréquence (en utilisant quelque chose appelé la Transformée de Fourier rapide) d'un énoncé et classez la parole comme "mâle" ou" femelle "selon une statistique sommaire comme la fréquence moyenne (voir http://classicalconvert.com/tag/sox / ). Pour que cela fonctionne bien (c.-à-d. avec de nombreux haut-parleurs, microphones ou environnements d'enregistrement), il y a beaucoup de choses que vous pouvez faire. Je ne suis pas sûr si je peux prédire combien de temps et d'efforts seraient nécessaires pour obtenir 70% de précision, car cela dépend de la nature de votre devoir; mon sentiment est que 90%+ serait certainement très difficile.

bonne chance!

30
répondu williampli 2011-03-08 00:57:16

il peut être un peu difficile d'extraire des informations de bas niveau telles que le pas et la puissance en utilisant CMU Sphinx 4 (bien que l'ancienne version pourrait avoir la capacité). Je vous suggère d'utiliser Praat. Vous pouvez écrire des scripts pour extraire le niveau de pitch et chacun des formateurs dans la voix d'un haut-parleur. Honnêtement, le langage de Praat scripting est horrible, mais il fait beaucoup de choses rapidement qui, autrement, prendrait beaucoup de temps. De nombreux scripts Praat sont également affichés en ligne. Voir http://www.fon.hum.uva.nl/praat / .

3
répondu Nate Glenn 2011-05-06 03:27:13

pour votre question de classification et de diarisation de la parole/non-parole (déterminez le nombre de locuteurs et le moment où ils parlent): il existe une boîte à outils open-source qui peut faire cela (automatiquement, donc il y aura des erreurs dans la sortie bien sûr). Regardez ce billet:

stackoverflow question sur diarization

3
répondu Marijn Huijbregts 2017-05-23 11:45:26