・Windows 7以前には、日本語音声合成エンジンは付属していないが、Microsoft Speech Platformをインストールすることで同様のコントロールが可能
・業務用プログラムのエラー処理として、いちいちマウスでOKを押す必要がないのでかなり快適に使える
Windows 8.1以上の場合は標準添付
それ以外(Xp含む)では、Microsoft Speech Platformを使う

場所
Windows 8.1 sapixx.api
windows 7 以前 Microsoft shared\speech\
7以前で、sapixxx.apiを選ぶと、英語しか発音しない。
使用可能パラメータ
SVSFlagsAsync 音声合成でプログラムを待たない
SVSFPurgeBeforeSpeak キューにたまった合成音を廃棄して、即座に発音する
たとえば、
Public Function t()
Dim Comp As New SpeechLib.SpVoice
Comp.Speak ("テスト合成です")
MsgBox "OK"
comp.Speak ("日本国民"), SVSFlagsAsync
'MsgBox "OK2"
comp.Speak ("これに反する一切の憲法"), SVSFPurgeBeforeSpeak
MsgBox "OK3"
Call PlaySound(CurrentProject.Path & "\barerror.wav", 0, SND_ASYNC)
comp.Speak ("プロシージャ")
MsgBox "OK4"
End Function
Dim Comp As New SpeechLib.SpVoice
Comp.Speak ("テスト合成です")
MsgBox "OK"
comp.Speak ("日本国民"), SVSFlagsAsync
'MsgBox "OK2"
comp.Speak ("これに反する一切の憲法"), SVSFPurgeBeforeSpeak
MsgBox "OK3"
Call PlaySound(CurrentProject.Path & "\barerror.wav", 0, SND_ASYNC)
comp.Speak ("プロシージャ")
MsgBox "OK4"
End Function
を実行すると、
1.「テスト合成です」の文章をすべて発声したあとにmsgboxが出る。
2.OKをおすと、
3.日本国民 と発声し始めるるが、途中で msgboxがでる。
4.OKを押すと、発声を途中で強制終了して、「これに反する」と割り込み合成される。
5.playsoundは、音声合成とは独立しているので、音声合成と重ね合わされて出力される
オブジェクトをグローバル変数として定義していると、処理を進めながら後付けで音声を発音し続けてくれる。応用が利く。
参考ページ
無料の音声合成エンジン 「Microsoft Speech Platform 11」
途中で音が途切れる場合があります。
次以降の命令文以降で、I/Oアクセスが早く来るために、スピーカーへのD/Aの足が掬われるためです。
やや、長めに、CPUの中だけで回るタイマーを
仕掛けておくと、その状態は解除でき、
最後まで再生出来ます。
#include <MMSystem.h>
int P1,P2;
PlaySoundA("a_Synth.wav", NULL,SND_FILENAME|SND_ASYNC);
for (P1=0;P1<10000;P1++)
for (P2=0;P2<70000;P2++)
P1 = P2;
とか。
音素合成だと、全ての音素にわたって、
/k/なら/k/、/a/なら/a/を
3分割するものを作っておいて、真ん中だけは
固定、前後の音素で、前後種を変えると、自然な合成が出来ます。また、耳(と言っても、音の信号処理をしているのは、大脳の側頭葉なのですが)の時間分解能 が1ms程度ですので、音素境界に、それをカバーする程度の5ms程度の期間、白色雑音(スペクトルがフラットな信号)を撒くと、さらに、自然になります。
今日は、メチャメチャ腹が立った。大学にも、学生のみならず、いろんな社会人も出入りしますが、パスワードは
知っているけど、ユーザーIDを知らない(最初から覚える気が無かった)と言う人がいました。defaultの表示で、今までの2年間は、入れていたのですが、Administer権限を使ったら、そのdefaultがリフレッシュされて。。。「片方だけ、憶えておいて、一体、どうするの?」と、言うか、小学校時代から、IDとパスワードは、紙や携帯などで書いて、ツイで、憶えておきなさい、と言うのは、全世界的に、常識だと思うのですが。10歳から70歳まで、文科相権限で、徹底しておいた方がいいのかなあ、と。
こう言う大迷惑な事をしておいて、マッタリしているあたり、原発推進に通じる処があるのだろうなあ、と思いました。
先生のPCのハード・ソフトにに対する意欲については、もう言葉がありません。素晴らしいですが私はついていけません。できることで役立ちそうなことだけをトライしています。
でも果てしないんですよね、この世界だけは。もう既にWindows10をインストールした人の感想文がネットに並ぶ時代です。私の知る限り三十数名の同期生の中でWindows8.1を使っているのはほとんど居ないみたい。
トラブルが発生してメールを貰ったので、ところでオタクのOSはなんだと訊いたら、OSってなんだ?と反問されたことがありました。世間にはこうゆうレベルの人が居るということです。あまり深入りしないことにしています。
パソコンを使っているというだけで、全てが通用すると思わないことですね。
ところが文字フォントが小さすぎて読むのに苦労しましたので、コメント欄に先生と同じ「さくらのブログ」なんだから、もう少し文字を大きくすることは可能なんではないですか?と書き込みを入れましたら、本日はそれが実現していました。
ご本人も苦労していた様子でしたから、誠に結構なことだと思います。引き続き愛読の方向で行きたいと思っています。