MicrosoftのSpeech API (SAPI)を使ったアプリ、といっても分かりにくいかもしれないが、音声認識ではなく音声合成(TTS)を使ったしゃべるアプリについて。
SAPI 4のTTSを使ったアプリケーションがうんともすんとも言わなく(喋らなく)なってしまうことがある。以前は正常に喋っていたのに、なぜか今では喋らないというようなケースだ。このような事象が発生した場合の原因としては、オーディオ出力の出力先がすでに存在しなくなっているようなケースが多い。
たとえば、過去にUSBスピーカーをつなげており、優先するデバイス(出力)にUSBスピーカーを指定していた場合、あとでそのUSBスピーカーが接続されていない、あるいは電源が切れていたりして、システムからスピーカーがみえないようなケースである。
このような状態では、SAPI 4のコントロールパネルでTTSのエンジン名をクリックしても、次のようなダイアログボックスが表示されてしまう。
Speech Properties
There was a problem in trying to access this engine's settings. (0x80040202)
Check to make certain that the speech engine is properly installed.
(0x80040202の部分0x80040317の場合もある)
こうなってしまったら、コントロールパネルのサウンドとマルチメディアを選択し、出力デバイスを実際に存在している適切なものに設定し、OKすればよい。
なお、ここで設定した内容はレジストリエディタの HKCU\Software\Microsoft\Multimedia\Sound Mapper 配下の Playback や Record あたりに反映されている。