2010-05-07 6 views
2

Je prévois d'écrire un logiciel d'analyse de conversation qui reconnaîtra les haut-parleurs individuels, leur hauteur et leur intensité. Le pitch et l'intensité sont assez simples (pitch par autocorrélation).Reconnaissance des voix individuelles

Comment est-ce que je devrais reconnaître des haut-parleurs individuels, afin que je puisse enregistrer ses caractéristiques? Est-ce que stocker des heuristiques pour les fréquences de chaque locuteur sera suffisant? Je peux supposer qu'une seule personne parle à la fois (strictement sans chevauchement). Je peux également supposer que pour la formation, chaque locuteur peut enregistrer une minute de données avant l'analyse réelle.

+1

+1 pour problème impossible –

+0

Comment allez-vous gérer l'intensité? Le microphone est-il toujours à une distance fixe de la personne qui parle? – mtrw

+0

Je suis sûr qu'il existe des thèses de doctorat sur ce sujet, mais je ne suis pas sûr que leurs auteurs soient actifs sur stackoverflow ... – Justin

Répondre

2

Le pitch et l'intensité ne vous disent rien. Vous avez vraiment besoin d'analyser comment pitch varie. Afin d'identifier différents haut-parleurs, vous devez transformer l'audio vocal en une sorte de feature space, puis faire des comparaisons avec votre base de données de haut-parleurs dans cet espace de fonctionnalité. Le terme général que vous souhaitez utiliser pour Google est prosody - voir par ex. http://en.wikipedia.org/wiki/Prosody_(linguistics). Pendant que vous êtes en train de googler, vous pouvez également lire sur speaker identification ou speaker recognition, voir par ex. http://en.wikipedia.org/wiki/Speaker_identification

0

Si vous travaillez encore sur ce ... utilisez-vous la reconnaissance vocale sur l'entrée audio? Parce que Microsoft SAPI par exemple fournit à l'application une API riche pour creuser dans l'onde sonore de la parole, ce qui pourrait rendre le problème de reconnaissance des locuteurs plus traitable. Je pense que vous pouvez obtenir des positions de phonème dans la forme d'onde. Cela vous permettrait, par exemple, de faire une analyse du spectre des voyelles, qui pourrait être utilisée pour générer des caractéristiques permettant de distinguer les locuteurs. (Avant que quiconque commence à murmurer sur la hauteur et le volume, gardez à l'esprit que les courbes des formants proviennent de la forme du conduit vocal et sont assez indépendantes du pitch, qui est la fréquence du cordeau vocal.) La durée du phonème dans le contexte pourrait aussi être une caractéristique utile. La distribution d'énergie pendant les sons «n» pourrait fournir une caractéristique de «nasalité». Etc. Juste une pensée. Je m'attends à travailler dans ce domaine moi-même.

Questions connexes