コンピュータがしゃべ…らない

タグの編集
投稿者 brv  () 投稿日時 2008/8/22 22:58:00
全て表示
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/23 01:25:00
>>2 
日本語対応の声合成エンジンを選択していますでしょうか。 
 
たとえば、 
 Microsoft Sam 
 Microsoft Mary 
 Microsoft Mike 
などは、英語しか喋れません。 
 
 
日本語対応のエンジンとしては、 
 LH Kenji 
 LH Naoko 
などがあります。 
http://www.microsoft.com/japan/enable/training/windowsxp/ttsplaybackvoice.mspx 
http://support.adobe.co.jp/faq/faq/qadoc.sv?224228+002#anc_02
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/23 01:30:00
>>4 
より高品質な発声のために、市販の音声合成エンジンを利用することもできます。 
 
http://www.createsystem.co.jp/DTalkerSapi1.html
投稿者 brv(質問者)  () 投稿日時 2008/8/24 02:12:00


早急なレスをありがとうございます。 
 
魔界の仮面弁士さんにご紹介いただいたページでフリー版のソフトをインストールしてみました。読み上げるのと同時に、右上の人が動きます。おもしろいです。 
 
でもこれだとプログラムには組み込めないのですが、どうすればいいんでしょう?
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/24 03:41:00


>>7 
Vista のコントロール パネルから、[音声合成]という画面を開いてください。 
(XP なら、[音声認識]というアイコンです) 
 
そして既定の音声合成エンジンを、別のものに変更してください。 
(初期状態では、"Microsof Anna" または "Microsoft Sam" だと思います) 
 
brvさんは、ドキュメントトーカV2 をインストールされたようなので、おそらくは日本語対応の 
AquesTalk 社の音声合成エンジンも使用可能かと思います。 
Office XP/2003 があれば、Lernout & Hauspie 社製エンジンも使用することができます。 
 
日本語対応の音声が選ばれていれば、最初のコードだけで日本語を読み上げる事ができます。 
 
また、プログラムから音声を選択させる事もできます。 
以下は、添付画像に使用したサンプルコードです。 
http://www.vb-user.net/samples/20080823_SAPI/Voice.TXT 
 
 
なお、以前は Microsoft のサイトから L & H 社のエンジンを入手可能できました。 
今はどうだかわかりませんけれども。 
http://www.microsoft.com/msagent/downloads/user.aspx#tts 
http://support.microsoft.com/kb/933437/ja 
http://www.microsoft.com/downloads/details.aspx?FamilyID=ace1ee62-cb42-49ab-883c-87f305fdcde8&DisplayLang=en
投稿者 brv(質問者)  () 投稿日時 2008/8/24 21:33:00
>>10 
ありがとうございます。 
一応解決しました。アプリケーションの音声として利用するには、やっぱり音声ファイルに変換してから使ったほうがいいですよね。
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/26 03:15:00
>>1 
できれば、SpeechSynthesizer クラスを使った方が良いでしょう。 
(System.Speech.dll を参照設定する必要があります) 
http://msdn.microsoft.com/ja-jp/library/system.speech.synthesis.speechsynthesizer.aspx 
 
 
《指定された文字列を読む》 
 Speak メソッド  
 
《使用可能な音声の一覧》 
 GetInstalledVoices メソッド 
 
《音声の切り替え》 
 SelectVoice メソッド
投稿者 brv(質問者)  () 投稿日時 2008/8/26 06:39:00
>>12 
こんな方法もあったんですね。 
ありがとうございます。
投稿者 るきお(管理者)  () 投稿日時 2008/8/26 21:38:00
>>12 
こんな機能が追加されていたんですね。 
見落としていました。 
.NET Framework 3.0から追加ですね。 
 
となると、 
Dim Computer As New SpeechLib.SpVoice 
の意義もなくなってしまいます。 
 
他にActiveXを使ったすぐ試せて、楽しいサンプルを考えなければいけなさそうですが…困りました…。 
 
情報提供ありがとうございます。
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/27 05:30:00
音声合成といえば。 
 
古い方法では、Vtext.dll(Microsoft Voice Text コントロール)を貼って使う方法がありました。 
TextToSpeech1.Speak(TextBox1.Text) 
 
喋るたびに、「くちびる」がその形に変化するのが、ちょっと不気味なコントロール。 
(最近の環境だと Vtext.dll が入っていないと思うけれども…) 
 
http://msdn.microsoft.com/en-us/library/Aa662939.vogel2%28en-us%2coffice.11%29.jpg 
http://msdn.microsoft.com/en-us/library/aa662939.aspx 
 
 
また、Excel 2002 以降があれば、VBA などから、 
 Call Application.Speech.Speak("あいうえお") 
として発声させることもできますね。 
 
 
今は、高機能なスピーチシンセサイザが無償/有償で提供されているので、プログラミングも楽になりましたけれども、VB4 の頃は、"sapiw.dll" を直接 Declare して叩く必要があったりと、面倒でした…。
投稿者 brv(質問者)  () 投稿日時 2008/8/29 00:40:00
>>15 
いろいろと音声合成について教えてくださり、ありがとうございます。 
音声合成はかなり人間の発音に近くなっていると思いますが、音声認識はまだまだという感じですよね。