BREAK☆THRU

テーマ:
夕べ、とある閃きが突破口で、
Windows 7がしゃべれるようになり、
私のiPodちゃんはWindows 7へ移行し始めたときに
失ったコトバをようやく取り戻しました(^o^)v

結論を言うと、まったくお金をかけずに、
Windows 7 Professionalにおいて、
SAPI5アプリ(iTunes、ナレーター)が
Speech Platformの日本語音声合成エンジンを使って、
日本語をしゃべらせることに成功しました☆


自分の備忘込みで、過程と方法を記します。


なんでこんなこと調べていたかというと…
iPod nano で読み上げメニューを有効にする
iPod の VoiceOver の読み上げ速度を調整する方法
などに記載されているとおり、
iPodのVoiceOver機能(読み上げ機能)は、母艦となっているパソコンの
スピーチ機能(MacOS)または音声認識・音声合成機能(Windows)に依存
しているのです。
したがって、iPodを日本語モードにしているならば、
母艦も日本語に対応したスピーチ機能(MacOS)または
音声認識・音声合成機能(Windows)が必要だったんです。


Windows 7の問題点
はるか昔、WindowsもOS標準の音声認識・音声合成機能が
日本語対応エンジンを積んできていたような気もしますが…

現状はOS標準の音声合成機能は英語対応エンジンのみ搭載です。

Windowsの場合、Microsoft Officeをインストールすることにより
日本語操作のOSに日本語音声合成エンジンを搭載でき、
WindowsとOfficeで機能の補完をしていました。

しかしながら、MS Office 2007以降、日本語音声合成エンジンを
Officeが搭載しなくなります。

そのころちょうど登場したWindows Vistaも従来通り
日本語音声合成エンジンを搭載しておらず、

Windows Vista において [ナレータを有効にします] を起動しても 日本語のナレータを利用できない

といった状況になったのです。


Windows Vistaで日本語をしゃべらせるにはサードパーティ製の
日本語音声合成エンジンを買ってくる必要があったといえます。

しかしながら、
CTI(Computer Telephony Integration)が進展すると同時に、
カーナビやVOCALOIDなど、日本語音声応答の技術は
マニアや視覚障害者だけでなく使われる表舞台に移り、
高級品になってしまいましたね。

Windows 7においてもWindows Vista同様の状況に
変化はなく、iPodをしゃべらせたい程度の私にとって、
サードパーティ製日本語音声合成エンジンは、
やはりお値段がお高く…(ToT)



☆☆解決手段(1)?☆☆
Windows 7 関連で日本語対応音声合成機能について調べていくと

日本語音声合成エンジンのご提供について
マイクロソフトでは、障碍 (しょうがい) のある方の
パソコン活用に役立てていただくため、
日本語音声合成エンジンを無償 (数量限定) で
ご提供します。

なんと美味しそうな♪
さっそく問い合わせてみました。

~エンジンを提供させていただく方の但し書~
* IT サポートをビジネスにされている方、
研究目的でエンジンを使用されたい方は対象外とさせていただき、
ご提供させていただくのは、
無償やボランティアベースで IT サポートをされている方
限らせていただきます。

で、ITサポートを無償やボランティアでやっている
団体名を申告しないとダメっぽい。。。回答でしたorz

障碍のある方向け、だものね…orz
この手段で提供を受けた方もいらっしゃるようですが、
私は、撃沈。



☆☆解決手段(2)☆☆
Microsoft Office 2010 Engineeringブログの
Office 2010 では読み上げ機能の対応言語が増加
によると、
Office 2010では、Microsoft の TTS(Text-to-Speech) エンジンを
強化して、複数の言語を使用するユーザーの皆様が『読み上げ機能』を
使えるよう Microsoft Speech Technologies チームを立ち上げ、
多国語で使うことができる Speech Platform を開発しているとあります。

Microsoft Speech Technologies チームの成果物がこちら。

・Microsoft Speech Platform Version 10.0
Microsoft Speech Platform - Server Runtime
Microsoft Speech Platform - Server Runtime Languages
Microsoft Speech Platform - Server Software Development Kit (SDK)

・Microsoft Speech Platform Version 10.1
Microsoft Speech Platform - Server Runtime (Version 10.1)
Microsoft Speech Platform - Server Runtime Languages (Version 10.1)
Microsoft Speech Platform - Software Development Kit (SDK) (Version 10.1)

・Microsoft Speech Platform Version 10.2
Microsoft Speech Platform - Server Runtime (Version 10.2)
Microsoft Speech Platform - Server Runtime Languages (Version 10.2)
Microsoft Speech Platform - Software Development Kit (SDK) (Version 10.2)


Microsoft Speech Platformの概説やインストール方法は、
電脳スピーチ blogさん
takayanの雑記帳さん
を参考にしてくださいませ。

Microsoft Speech Platformは、“SAPI5ではない”
が、しかし、
動作は「ほとんど一緒」、というよりむしろ中身は「全く同じ」と
言ってもいいのではないか…
というこのニュアンスだけは知っておいてください。

ということで、、、
Microsoft Speech Platformは“SAPI5ではない”ため、
これの手段も轟沈(ToT)

OS標準の音声認識・音声合成(SAPI5)のAPIへの接続宣言文は、
var VoiceObject=new ActiveXObject("SAPI.SpVoice");
であるのに対して、Speech Platform APIへの接続宣言文は、
var VoiceObject=new ActiveXObject("Speech.SpVoice");
なんだそうです。

しかし、、、

Speech APIからSpeech Platform APIに変わったからか、
Speech Platform APIでいろいろソフト作って実験している
方々がいっぱいいらっしゃるんですね。

Noahさんの“読み上げソフト開発と音声学習”によると

// --- ここから引用 ---
// 古いバージョンの SAPI5
SpInitTokenComboBox(hWnd, L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices");
// Microsoft Speech Platform v10.x
SpInitTokenComboBox(hWnd, L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech Server\\v10.0\\Voices" );
これだけで無事使えるようになりました(^ω^)
// --- ここまで引用 ---

へー☆
私の勘違いはあるかも知れないけど、

┌───┐ ┌──────────┐/ SAPI5
│ ┝━┥ Speech API │─ Text to Speech
│ マイ │ └──────────┘\ Engines
│ │
│アプリ│ ┌──────────┐/ Speech Platform API
│ ┝━┥Speech Platform API │─ Text to Speech
└───┘ └──────────┘\ Engines

ってなことができるのかな…

Wait, Wait, Wait.
ちょっとMcKay!!

SAPI5とSpeech Platform API間で
これだけ親和性が高いってことは♪

┌───┐ ┌──────────┐/ SAPI5
│SAPI5 ┝━┥ Speech API │─ Text to Speech
│アプリ│ └────┰─────┘\ Engines
└───┘ ★←バイパス
┌────┸─────┐/ Speech Platform API
│Speech Platform API │─ Text to Speech
└──────────┘\ Engines

こんなバイパスを掛ければ、
SAPI5アプリからSpeech Platform APIのTTSエンジンに
アクセスできるんでは!?



☆☆解決手段(3)☆☆
結論に近づいてきました。
この“バイパスが掛けられるかもしれない”と
気づいたことがBreakthrough Pointでした。

まずレジストリ構造を分析してみます。
SAPI5とSpeech Platform APIでは
それぞれ次の構造を持っています。

・SAPI5

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft
\\Speech\\Voices\\Tokens\\┬ SAPI5
: TTSエンジン ①’
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft
\\Speech\\Recognizers\\Tokens\\┬ SAPI5
: SRエンジン ②’


・Speech Platform API

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft
\\Speech Server\\v10.0\\Voices\\Tokens\\┬ Speech Platform
: TTSエンジン ①
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft
\\Speech Server\\v10.0\\Recognizers\\Tokens\\┬ Speech Platform
: SRエンジン ②



ここで、
Speech PlatformのTTS(Text To Speech/音声合成)エンジンと
SR(Speech Recognizers/音声認識)エンジンの登録内容のコピーを
SAPI5のTTSエンジン/SRエンジンのレジストリ登録位置に
書き加えます。
(①の記述を①'の位置へコピー、
②の記述を②'の位置へコピー)

MSSpeech_TTS_ja-JP_Harukaを例として、
書き加えたレジストリのサンプルは下記のものです。
[書き加えたレジストリのサンプル(ja-JP, Haruna)]

これで、Speech APIとSpeech Platform APIがバイパスできたはずです。

コントロールパネル → 音声認識 → 音声合成
を開いて結果を確認しましょう。

まるいちの視覚-音声認識のプロパティ


どうでしょうか。
“Microsoft Server Speech Text to Speech Voice (ja-JP, Haruna)”
が選択できて、音声の再生ボタンをクリックすると、
はるなさんがちゃんとしゃべってくれます♪

次に、
コントロールパネル → コンピューターの簡単操作センター
から『ナレーターでテキストを読み上げる』をクリックして
ナレーターを起動します。

『音声の選択』をクリックすると、
“Microsoft Server Speech Text to Speech Voice (ja-JP, Haruna)”
が選択できますね。

まるいちの視覚-音声の設定 - ナレーター


OKをクリックすると、はるなさんがナレーションを始めます。



☆☆結論☆☆
Speech Platformをインストールして、
バイパス設定を入れると、
Windows 7 はサードパーティ製品無しで
多国語でスピーチができる。

ただし、バイパス設定はレジストリを直接いじるので、
自己責任にてお願いいたします。





iTunes側の問題
さて、Windows 7は日本語でスピーチできるようになりました。
そうそう、iTunes側の問題が残っていましたね。

iPodを母艦PCに繋げて、VoiceOver機能を有効にすると、
『VoiceOver Kit 1.3』のインストールが始まるのですが、
インストールが終わると“VoiceOverを有効にする”の
チェックボックスがオフ状態になってしまうのです。
何度VoiceOver Kitをコントロールパネルからアンインストールして
インストールし直しても一緒…(ToT)

以前は日本語のText To Speechが動いていないからだと
思っていたのですが、日本語TTSが動作し始めても症状に
変化なし…orz

いよいよしっかり調べなければと、ググったら、
一発でヒット(@o@)))

Topic : Win 7 x64 + iTunes 9 VoiceOver kit won't install

前々からCドライブのルートディレクトリーに
“iPodVoiceOver.dll”が居て良いんだっけ?
と気になっていたんですよね(^_^ゞ

“iPodVoiceOver.dll”をCドライブのルートディレクトリから
C:\Program Files\iTunes\配下に移動して、
iTunesを開いたら、、、

まるで問題なし\(^o^)/

Voice Over機能が使えるようになり、
私のiPodちゃんも失ったコトバを
ようやく取り戻すことができたのでした\(^o^)/

たくさんの追及し続ける方たちのブログなど、
とても勉強になりました☆ ありがとうございます♪
AD