Question

J'écrit une application de mot d'orthographe pour mon fils et je voudrais recommander pour de bonnes API qui peuvent être comprises lorsqu'elle parle. Je programmer dans .NET, donc quelque chose qui interopéra à cela serait pratique. Merci d'avance.

Était-ce utile?

La solution

SDK Speech MS. Il est exposé via un assemblage .NET. Très facile à utiliser. Mes enfants ont adoré. Libre.

using System.Speech.Synthesis;

public class SpeakHelloWorld
{
  public static void Main(string[] args)
  {
      SpeechSynthesizer synthesizer = new SpeechSynthesizer();
      synthesizer.Speak("As for me and my house, ...");
  }
}

Les sons générés par le code ci-dessus n'utilisent pas d'inflexion naturelle, avec des pauses, etc. Donc, avec une phrase complète, il ne sonne pas humain. Mais les mots célibataires semblent corrects, juste une sorte de robotique.

Pour un petit enfant, avec un ensemble de mots assez petit, vous voudrez peut-être enregistrer votre propre voix en disant les mots. Je l'ai fait avec un puzzle d'État américain, pour prononcer les noms d'État, plutôt que de recourir au synthétiseur.

Autres conseils

Je ne sais pas pourquoi je n'y ai pas pensé avant de -
Je faisais un outil de recherche de dictionnaire et je voulais y ajouter la prononciation. Plutôt que d'utiliser du text-vocation, qui donne un son robotique, j'ai adopté une approche différente. MW.com a des voix humaines capturées dans des fichiers .wav pour la plupart des mots. Je suis donc à l'écran le site Web de Merriam-Webster pour saisir un fichier WAV pour le mot, puis je joue simplement ce. Si votre application sera connectée, cela fonctionnerait peut-être aussi pour vous.

C'est le flux qu'il traverse:

pronouncing Tricky...looking up 'Tricky'...
dictionary page: http://www.merriam-webster.com/dictionary/Tricky
got dictionary page markup, 35828 chars...
getting pronunciation uri...
got uri: 'http://www.merriam-webster.com//cgi-bin/audio.pl?tricky01.wav=tricky'...
getting page markup...
got pronunciation page markup, 3498 chars...
getting wav uri...
got wav uri: 'http://media.merriam-webster.com/soundc11/t/tricky01.wav'...
getting wav data...
got wav data, 6260 bytes...
playing wav data.
done.

Voici un code source prototype qui le fait.

Cela fonctionne sur le .NET Framework 2.0 et fonctionne également sur le .NET CF 2.0. C'est juste une illustration. Il est en quelque sorte naïf de sélection du fichier .wav approprié lorsqu'il existe plusieurs formulaires de mots et plusieurs prononciations. Si vous demandez un formulaire pluriel, vous ne l'obtenez peut-être pas. Vous pouvez également ajouter de la mise en cache et une manipulation des exceptions supplémentaires pour le durcir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top