Comment implémenter la reconnaissance vocale et le text-To-speech en C++?

je veux connaître diverses techniques de reconnaissance de la parole et de conversion texte-parole. Aussi s'il vous plaît me faire savoir sur toutes les ressources comme les liens, tutoriels ,ebooks, etc. sur elle.

Quelle est la technique la plus efficace pour la réaliser ?

12
demandé sur Ashish 2009-12-22 20:00:56

6 réponses

je vais répondre à la partie sur la reconnaissance de la parole (puisque je ne sais pas grand chose sur le text-To-speech):

http://ecx.images-amazon.com/images/I/4190SZC61CL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

ce livre, "méthodes statistiques pour la reconnaissance de la Parole" est un classique qui explique les fondements mathématiques de la reconnaissance statistique de la parole, écrit par le fondateur de cette région, Frederick Jelinek.

le concept Le plus important que vous devez savoir est Modèles De Markov Cachés. Les gens les utilisent en reconnaissance vocale depuis des décennies. Une approche récente utilise Champs Aléatoires Conditionnels voir le papier (PDF) et la boîte à outils logicielle associée écharpe.

Il est assez difficile d'écrire votre propre module de reconnaissance vocale. C'est un domaine de recherche avec plusieurs conférences scientifiques, par exemple ASRU, Interspeech, ICASSP.

8
répondu Frank 2009-12-24 03:41:54

les deux sont des zones très larges. A propos de la reconnaissance: dans ce ce schéma vous trouverez comment construire un système de reconnaissance automatique de la parole de base. Il n'est pas du tout proche du début de l'art, mais c'est quelque chose d'réalisable et cela fonctionne. Si vous voulez faire quelque chose de plus avancé, lisez sur les coefficients cepstral et les modèles Markov cachés. Regarder dans HTK, il s'agit d'une boîte à outils largement utilisée pour les modèles Markov cachés.

à Propos du texte à la parole: j'aimerais avoir un coup d'oeil à Festival.

6
répondu nacmartin 2009-12-24 17:38:47

Il y a plusieurs sphinx. Les principaux actifs sont pocketsphinx et sphinx4.

Sphinx4 est écrit en Java. Il est préférable pour le bureau et les applications web.

Pocketsphinx est écrit en C. c'est mieux pour les périphériques embarqués. Il existe des applications iphone/android qui l'utilisent.

on dirait que vous voulez pocketsphinx. Essayez ce tutoriel: http://www.speech.cs.cmu.edu/sphinx/tutorial.html

Un meilleur endroit pour demander pocketsphinx / sphinx4 questions est sur le forum sourceforge de la CMU.

vous devriez également fournir plus d'informations comme ce que vous avez l'intention de faire.

en ce qui concerne les livres, la bible de la reconnaissance de la parole est "le traitement de la langue parlée"

4
répondu ecret 2009-12-29 04:42:01

Puisque vous avez mentionné MS -

Vous devez simplement regarder les Microsoft Speech site. Il contient de nombreuses ressources pour traiter de la parole, y compris le TTS et la reconnaissance de la parole.

3
répondu Reed Copsey 2009-12-22 17:06:28

si vous cherchez un code réel, Vérifiez Sphinx, un projet de reconnaissance de la parole libre de la CMU. Il n'est pas écrit en C++, mais si vous êtes intéressé par les algorithmes, il est mis en œuvre un tas de choses que vous pouvez apprendre. (Je voudrais également faire écho au point de @dehmann: lisez sur les modèles markov cachés.)

3
répondu ojrac 2009-12-23 06:39:49

si vous êtes curieux sur ce qu'il faut faire avec votre reconnaissance vocale fantaisie, vous devriez lire: La voix de Design d'Interaction par Randy Allen Harris

il fournit quelques bons conseils sur le moment d'utiliser Voice et comment l'utiliser dans une application.

1
répondu gregm 2010-05-27 12:07:19