2010年03月25日

日本語音声合成 Python パッケージ mbtts

前回でやめるつもりでいたんですが、MBROLA関連の続きです。
前回のものを大幅に拡張して作った、Windows、Ubuntu、MacOSX で使える音声合成処理のPythonパッケージです。
これ単体では動きませんが、無料で配布されているファイルを持ってくると、日本語の文字列を音声に変換してくれます。

興味のある方は、無保証ですが使ってみてください。

ダウンロード:
mbtts-0.95.zip

主な変更点ですが、

せっかくなので、jp2だけでなく、MBROLAの jp1,jp3の音声も使えるようにしました。

プログラムが長くなりすぎたため、ファイルを分割せざるを得なくなってしまったのですが、それを扱いやすくするために、パッケージにしてみました。Windows用のインストーラや、setup.py でPythonにインストールします。

非同期発声はどうしても実現したくて、でも、自分で作るのは面倒だったので、既存のpygameパッケージを使ってできるようにしてみました。

そして、MeCabバインディングのパッケージを別に作るのもあれなので、バインディング用のスクリプトも取り込みました。

それから、最初に書きましたが、LinuxでできるのならばOSXでもできるだろうということで、MacOSX対応にしました。pygameに依存したおかげで、それさえ入れられれば、あとは簡単に実現しました。

インストールの仕方とか、詳しくは、ダウンロードしたファイルを展開して出てくる mbtts.txt というファイルに全部書いていますので、それを読んでみてください。必要な外部ファイルがいろいろありますが、そのこともmbtts.txtに書いてあります。

基本的な使い方は、
>>> import mbtts
>>> tts = mbtts.create()
>>> tts.speak(u'あらゆる現実を、全て自分の方へ捻じ曲げたのだ。')
てな感じになります。

残念ながら、Unidicを使った日本語のアクセントやイントネーションの処理に関しては、間違いを修正したくらいでほとんど進歩はありません。

AquesTalkを組み込んだり、OpenJtalkを組み込んだりすることは、割と簡単にできるのではないかと思います。

最後に、先日、mmttsと名づけてみたのですが、mm というのは音声読み上げ対応ソフトで有名なmiyamiyaさんの一連のシリーズと語呂が同じになってしまうので、止めにします。mbtts にすることにします。


posted by takayan at 05:18 | Comment(0) | TrackBack(0) | 音声合成 | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。