Open6

VOICEVOXをSAPI5から操作できるようにする

作成意義

VOICEVOXをSAPI5から操作できるようになれば、棒読みちゃんの声質として見える。
棒読みちゃんの辞書が使える。ニコ生等のコメント読み上げソフトで標準で棒読みちゃんに対応している場合、コメント読み上げソフトの機能(辞書等)をフル活用できる。
個別に読み上げソフトのプラグインを開発する必要が無い。

実装方法・開発環境

Visual Studio 2019
基本「C#」
一部「C++」(ヘッダーファイルに記述の無い定数取得用)

参照設定

comインターフェースを実装する必要がある。
ソリューションエクスプローラーの参照を右クリックし、参照の追加を押し、参照マネージャーを表示する。
左からCOMを選択し、右上の検索欄に「TTS」と入力する。
「Microsoft TTS Engine 10.0 Type Library」が2つ出てくる。
ファイルバージョンを確認し、新しめのものにチェックを入れる。

SAPIイベント

エンジンの情報を呼び出し元へ通知する仕組み。

SPEI_WORD_BOUNDARYとSPEI_SENTENCE_BOUNDARYしか試していないが、
wParamとlParamのリファレンスマニュアルの説明が逆だった。

リファレンスマニュアル

変数名 内容(マニュアル)
wParam 合成される単語の先頭の文字オフセット
lParam 合成されている現在の入力ストリーム内の単語の文字長

正解

変数名 内容(正解)
wParam 合成されている現在の入力ストリーム内の単語の文字長
lParam 合成される単語の先頭の文字オフセット
ログインするとコメントできます