2009-12-01

のっぴきならない。

Python をしゃべらせて遊ぶ

窓の杜でこれを使ったソフトが紹介されてて知ったのですが、AquesTalk という音声合成ライブラリがあるんですね。Windows 版はフリーで利用できる。面白いです。

DLL のままでは遊びにくいので、Python でラッパーを作成。これでコマンドラインからしゃべらせたり、ほかの Python プログラムから任意の文字列を発声させたりできます。

C:¥...>aquestalk.py -h
Usage: aquestalk.py [options] filenames

Options:
  -h, --help            show this help message and exit
  -c CODE, --code=CODE  evaluate given code
  -l LIBRARY, --library=LIBRARY
                        voice library name <f1>
  -o OUTPUT, --output=OUTPUT
                        save as wav file
  -s SPEED, --speed=SPEED
                        speech speed (50-300) <100>

コマンドラインからしゃべらせる例。

C:¥...>aquestalk.py -s 110 -c がいぶ+で'んげんに/きりかわりまし'た。

モジュールとして使う場合。発声が終わるまで処理が返らなくてもいいなら、

import aquestalk
aquestalk.play_sync(u'こんにちわ,')

で OK です。すぐに戻ってきてほしいときは、VoiceEngine クラスのインスタンスを作ります。

import aquestalk
engine = aquestalk.VoiceEngine()
engine.play(u'こんにちわ,') # 非同期で発声
...

詳しくはソース見てください。インストール方法なども書いてあります。

ひとまず。