8

私は息子のために綴りの単語の申請書を書いていますが、それが話すときに理解できる優れた API の推奨を求めています。私は.Netでプログラミングしているので、それと相互運用できるものがあれば便利です。前もって感謝します。

4

2 に答える 2

10

MS スピーチ SDK . .NET アセンブリを介して公開されます。とても使いやすいです。私の子供たちはそれを愛していました。無料。

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

上記のコードで生成されたサウンドは、一時停止などの自然な抑揚を使用していません。したがって、完全な文では、人間のようには聞こえません。しかし、一言で言えば大丈夫です。ロボットのようなものです。

小さな子供の場合、単語のセットが十分に少ない場合は、単語を話している自分の声を録音することをお勧めします。私は、シンセサイザーに頼るのではなく、州名を発音するために、米国の州のパズルでそれを行いました。

于 2009-06-10T12:52:21.277 に答える
5

なぜ以前にこれを考えなかったのかわからない-
私は辞書検索ツールをやっていて、それに発音を追加したかった。ロボットの音を出すテキスト読み上げを使用するのではなく、別のアプローチを取りました。MW.comでは、ほとんどの単語の.wavファイルに人間の声がキャプチャされています。そこで、メリアム・ウェブスターのWebサイトをスクリーンスクレイピングして、その単語のwavファイルを取得し、それを再生ます。あなたのアプリが接続されるなら、多分これはあなたのためにも働くでしょう。

これが通過するフローです。

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.

これを行ういくつかのプロトタイプソースコードがあります。

これは.NETFramework2.0で機能し、.NETCF2.0でも機能します。単なるイラストです。複数の単語形式と複数の発音がある場合、適切な.wavファイルを選択するのはちょっとナイーブです。複数形を要求すると、取得できない場合があります。また、キャッシュと追加の例外処理を追加して強化することもできます。

于 2009-06-10T19:09:48.020 に答える