2009-06-10 10 views

答えて

10

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

上記のコードで生成されたサウンドは、自然な変化、一時停止などを使用しません。だから完全な文で、それは人間の声を出すことはありません。しかし、一言は大丈夫、ちょうどロボットのようなものです。

小さな子供のために、十分に小さい単語のセットを使用すると、あなたは自分の声を記録してその単語を言いたいことがあります。私はシンセサイザーに頼るのではなく、州の名前を発音するためにUSA州のパズルでそれをしました。

+0

スペル・ワード・アプリケーションを実行するのに十分であるか、それとも単語を誤って発音したのでしょうか? –

+1

それはかなり良いです。まだコンピュータの声のよ​​うに聞こえるが、かなり良い。それを試してみるのはとても簡単ですので、数分でyselfを見ることができます。 – Cheeso

4

は、私はこの前に考えていなかった理由を知ってはいけない -
私は辞書引きツールをしていた、そしてそれに発音を追加したいです。ロボット音を出すText-to-speechを使うのではなく、私は別のアプローチを取った。 M-W.comにはほとんどの単語の.wavファイルに人間の声が収められています。そこで、私はMerriam-Websterのウェブサイトをスクラップして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. 

ここsome prototype source code that does itです。

これは.NET Framework 2.0で動作し、.NET CF 2.0でも動作します。それは単なるイラストです。複数の単語形式と複数の発音がある場合に、適切な.wavファイルを選択するのは簡単です。あなたが複数形を求めるなら、それを得ることはできません。また、キャッシュと追加の例外処理を追加して強化することもできます。

+0

私はそのコードを見たいと思っています。それは本当にクールなアイデアです! –

+0

ok投稿を更新し、コードを追加しました。 – Cheeso