Je sais qu'un modèle de Markov caché (HMM) est utilisé dans la reconnaissance vocale et je le comprends dans une certaine mesure. Cependant, ce que je ne sais pas, c'est comment l'entrée (la parole) est "transformée" en un vecteur qui sera ensuite utilisé dans HMM.
Comment obtenir un vecteur à partir d'une entrée sonore? Ce vecteur est-il lisible par un humain?
speech-recognition
StupidOne
la source
la source
Réponses:
La façon dont la reconnaissance vocale est effectuée avec HTK (ou tout autre outil) est en quelque sorte similaire à la façon dont la reconnaissance vocale est effectuée dans le cerveau. Lorsque vous entendez un mot, vous le décomposez instantanément en ses téléphones constituants , puis comparez les téléphones avec un "modèle" mental interne des téléphones . Ces «modèles» sont construits au fil des années d'écoute de la parole et vous permettent de faire la distinction entre des phrases au son similaire comme «Comment détruire une belle plage» et «Comment reconnaître la parole». La reconnaissance vocale avec HTK ou tout autre schéma basé sur un modèle fonctionne de manière similaire. Voici, en quelques étapes, comment procéder:
Toutes les étapes ci-dessus sont essentielles à la réussite de toute tâche de reconnaissance vocale. En décomposant un son en son vecteur caractéristique, vous le placez dans un espace modèle, lui donnant une représentation qui le rend plus adapté à la création d'un modèle que d'autres représentations (par exemple, la représentation temps-amplitude). La plupart de ces représentations se situent dans la fréquence ou le domaine temps-fréquence. L'une des représentations les plus populaires est le MFCC (Mel Frequency Cepstral Coefficient). D'une certaine manière, cette technique imite la réponse auditive humaine avec un ensemble de filtres. Un signal d'entrée est décomposé avec cet ensemble de filtres qui ont un espacement logarithmique de leurs fréquences centrales. Les coefficients MFCC d'une phrase (par exemple) sont ensuite utilisés pour modéliser chacun des téléphones dont la phrase est composée. Par exemple, considérez,
Phrase: HI. Description phonétique: hh aa ey
Lorsque vous introduisez les coefficients MFCC dans HTK, il associe les coefficients MFCC d'une partie de la phrase avec hh, une autre avec aa et ainsi de suite. Lorsque cela se répète plusieurs fois, les modèles de téléphones commencent à se former.
HTK utilise l'outil
HCopy
pour convertir une phrase d'entrée en sa représentation vectorielle d'entités. Il existe également de nombreuses «saveurs» dans les MFCC (représentations E_D_A ou E_D_A_Z). Ce serait une bonne idée de lire la documentation pourHCopy
dans le htkbook.Les coefficients MFCC sont écrits dans un fichier avec extension
.mfc
par HTK. Il n'est pas possible de lire ce fichier en utilisant l'un des éditeurs de texte car (je pense) les coefficients sont écrits en binaire. Vous pouvez essayer de lire les fichiers avecC
.HTH.
la source
edit
bouton de la réponse, ou mieux encore, à nous fournir votre réponse. Et oui, si la question elle-même est inexacte, la réponse manquera également de précision. Cela a été discuté dans la section des commentaires elle-même.Chaque vague peut être décomposée en addition de nombreuses autres vagues. En utilisant une transformée de Fourier, vous pouvez analyser une onde dans ses composantes de fréquence. L'amplitude de ces composantes fréquentielles peut alors être utilisée comme vecteur. Voici la documentation sur la classe Sphinx qui fait cela et voici une bonne explication visuelle de la transformation de Fourier.
la source