Pergunta

Estou escrevendo uma aplicação de palavras de ortografia para meu filho e gostaria de recomendações para boas APIs que podem ser entendidas quando ela fala. Estou programando no .NET para que algo que interave isso seria útil. Desde já, obrigado.

Foi útil?

Solução

MS SCOEEN SDK. É exposto através de um conjunto .NET. Muito fácil de usar. Meus filhos adoraram. Livre.

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, ...");
  }
}

Os sons gerados pelo código acima não usam inflexão natural, com pausas e assim por diante. Então, com uma frase completa, ela não parece humana. Mas palavras únicas parecem bem, apenas robótica.

Para uma criança, com um pequeno conjunto de palavras o suficiente, você pode apenas gravar sua própria voz dizendo as palavras. Fiz isso com um quebra -cabeça do estado dos EUA, para pronunciar os nomes do estado, em vez de recorrer ao sintetizador.

Outras dicas

Não sei por que eu não pensei nisso antes da -
Eu estava fazendo uma ferramenta de visualização de dicionário e queria adicionar pronúncia a ela. Em vez de usar o texto em fala, o que fornece um som robótico, adotei uma abordagem diferente. O MW.com tem vozes humanas capturadas nos arquivos .wav para a maioria das palavras. Então, eu raspo o site do Merriam-Webster para pegar um arquivo wav para a palavra e, em seguida, basta jogar este. Se o seu aplicativo estiver conectado, talvez isso funcione para você também.

Este é o fluxo pelo qual passa:

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.

Aqui está algum código -fonte de protótipo que faz isso.

Isso funciona no .NET Framework 2.0 e também funciona no .NET CF 2.0. É apenas uma ilustração. É ingênuo em selecionar o arquivo .wav adequado quando existem vários formulários de palavras e várias pronúncias. Se você pedir um formulário plural, poderá não obtê -lo. Além disso, você pode querer adicionar armazenamento em cache e manuseio de exceção adicional para endurecê -lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top