テキストなどの読み上げを行う場合にSAPIの音声合成機能を使いますが、その大前提として音声合成と認識が行えるローカルエクスペリエンスパックが導入されていることが前提となります。私の場合はデフォルトの日本語の他、英語(米語)を入れています。

 

更に増やしたいという時はどうするか?と考え、Webで調べるとローカル エクスペリエンス パック - Microsoft サポートというサイトにダウンロードのリンクがありましたが、参照先が自分自身(従って何の役にも立ちません!怒)になっています。

 

では、

ということで、矢張りWindows(11ですが)の「設定」を開くと、「時刻と言語」に「音声認識」があり、こっちの方が早いことが分かりました。

導入されているローカルエクスペリエンスパッケージと同じ「音声パッケージ」として日本語と英語がありますね。増やすには「音声を追加」ボタンを押せばダイアログが現れ、多様な言語をダウンロードできるようです。

(不要なメモリー消費はしないようにしているので、私は2言語だけでOKです。)

 

なお、私のPC環境ではデフォルト音声はAyumiになっており、その他HarukaとIchiroが選択できるのですが、音声合成プログラムを組んで「日本語」(カルチャーを"ja-JP")を選択すると、元のHarukaになってしまうようです。(

:この点について、(当時Windows 10でしたが)私のBCCSkeltonサンプルプログラム、"TextToSpeech"のヘルプファイルで「(レジストリーの) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices ...というところに、..."Microsoft Haruka Desktop”という名前の成人女性の音声であることが分かります。このPCのSAPI-TTSで使用できる音声(デフォルト音声トークン)は、HARUKAの他に米英語を話すDaividとZiraの3つしかありません。」「実はこのPCの中には上記以外にも、同じマイクロソフトのソフトウェアとしてレジストリーに登録されている”OneCore”と呼ばれるカテゴリーに、より多くの音声トークンがありますが、...SAPIISpVoiceオブジェクトが直ちに利用することができません。SAPIはこの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens にアクセスできず、プログラマーが強引にOneCoreの音声トークンにアクセスし、SAPIのISpVoiceオブジェクトに与えるしかないのが現状です。」と書いています。(私のTextToSpeechは強引にそこへアクセスしていますが、何か?)

 

今後はこの前提(と私のPC環境)で解説します。