技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

VOICEROID+でSkypeメッセージ喋らせる(1)

注意:Windows8 以降だと、他のウィンドウへのアタッチはセキュリティモデルの仕様上できない場合があります。

うん。棒読みちゃんこれ入れればいいのは知っているのですが、Clipboardが何かあるたびに上書きされてしまって嫌だったので、自作してみる。
で、いくつか段階がありそうで

  1. VOICEROID に喋らせる方法の確立
  2. Skypeのメッセージイベント引っこ抜きの確立
  3. アプリの作成

機能的には、Voiceroid に喋らせるのが目的なので、劣化棒読みちゃんでいいや。
Skype読み上げとか、メッセージソース取得は同様にプラグイン化しておきたいけど、結構プラグイン化は面倒なので後回し。
あとVoiceroidが読めないメッセージを読めるように置き換える機能は必須だがや。

と、作ってみる。

延々VOICEROIDと格闘し、わかったこといくつか。

  • VOICEROID はプロダクトによって構成が違うから共通的な解法がない
  • 公式に OpenAPI はないので、自力でどうにかするしかない
  • 東北ずん子は .NET で、結月ゆかりは Tk のC++ネイティブで動いてる
  • 基本的に Win32API で GetWindowHandle とかちまちま叩く
  • 結月ゆかりを先にどうにかしようと思ったが、ClassName と階層構造から、ウィンドウハンドルを辿るしかない。
  • SendMessageするときに癖がある?(対応しているメッセージに癖がある?)思ったようにメッセージがテキストボックスに書き込めない

コピペに逃れたくないなぁ

http://www11.ocn.ne.jp/~ikalu/win32api/0009.html

参考

Spy.exe 眺めつつ、まずはコピペできるのを確認。