アットウィキロゴ

連携方法

文章の読み上げは、メイン画面から行う以外にも方法があります。

起動オプション

アプリケーション起動時に、読み上げる文章を指定することができます。
MikuMikuSpeech.exe [TEXT] [-i FILENAME] [-o FILENAME] [-s]
引数 説明
TEXT TEXTをもとに音声を作成します。-iオプションを指定している場合は、TEXTは無視されます。
-i FILENAME FILENAMEを読み込み、内容をもとに音声を作成します。
-o FILENAME 作成された音声を、FILENAMEに保存します。
-s 作成された音声を再生しません。-sオプションを指定しない場合は再生されます。
通常読み上げの例
MikuMikuSpeech.exe "家に帰ると妻がかならず死んだふりをしています。"

ファイル読み上げの例
MikuMikuSpeech.exe -i "c:¥in.txt"

音声を保存する例
MikuMikuSpeech.exe -i "c:¥in.txt" -o "c:¥out.wav"

音声を再生せずに保存する例
MikuMikuSpeech.exe -i "c:¥in.txt" -o "c:¥out.wav" -s


ウィンドウメッセージ

MikuMikuSpeech本体に、ウィンドウメッセージ「WM_COPYDATA」を送ることで、読み上げることができます。
MikuMikuSpeechNCVMikuMikuSpeechANKはこの方法を利用しています。

  • メッセージの送信先
クラスID MikuMIkuSpeech
win32apiのFindWindow関数でクラスIDを指定すると、SendMessageするのに必要なウィンドウハンドルが得られます。

  • メッセージの書式
<MikuMikuSpeech>
<Text>文章</Text>
<ID>ID</ID>
</MikuMikuSpeech>
文章 読み上げる文章
ID IDを指定すると、IDごとに何かできます。たとえばMikuMikuSpeechNCV、MikuMikuSpeechANKは、生IDを送っています。プロファイル解析(本体同梱のprofile.lua)で、IDごとにボイス設定を保存したり、読み上げ時にボイスを変更したりしています。
Textタグ、IDタグ以外にも、適当なタグをMikuMikuSpeechタグ内に入れてメッセージを作成すれば、プラグインやスクリプトから参照することができます。

C++の例

HWND hwnd = FindWindow("MikuMikuSpeech", NULL);
std::string text = "<MikuMikuSpech><Text>愛してる</Text></MikuMikuSpech>";
COPYDATASTRUCT cds;
cds.dwData = 0;
cds.lpData = (PVOID)text.c_str();
cds.cbData = text.length() + 1;
SendMessage(hwnd, WM_COPYDATA, (WPARAM)0, (LPARAM)&cds);

C#の例

Int32 hwnd = FindWindow("MikuMikuSpeech", null);
string text = "<MikuMikuSpech><Text>愛してる</Text></MikuMikuSpech>";
byte[] bytes = System.Text.Encoding.Default.GetBytes(text);
Int32 byte_length = bytes.Length;
COPYDATASTRUCT cds;
cds.dwData = 0;
vcds.lpData = text;
cds.cbData = byte_length + 1;
SendMessage(hwnd, WM_COPYDATA, 0, ref cds);


コメント:

すべてのコメントを見る

最終更新:2012年05月08日 00:12