2010年12月1日水曜日

Androidで日本語を話させる

現在のAndroid(2.3)ではテキスト読み上げは、英語、スペイン語、フランス語、ドイツ語、イタリア語には対応しているが、日本語には対応していない。

でも世の中には以下のような日本語音声補完のための仕組みがあるらしい。

・Android JaTTS
Android用にカスタマイズされた音声合成アプリおよびライブラリ。
修正BSDライセンス

・ToSpeak
東芝さんの音声合成サイト。
サイトにログインして音声を作成し、ローカルにダウンロードもできる。
現在は無料期間中だが、いずれ課金される感じ。

・おしゃべりっち
無料で使える音声読み上げAPI。
JavaScript使用できる環境が必要。結構流暢に話す。

・ドキュメント・トーカ
Windows上やモバイル上で動かせる音声合成アプリ、およびライブラリ。
Android版も最近登場。有料と無料あり。


で、Androidって名前とwikiがすでに立ち上がっていたので
今回はAndroid JaTTSを使ってみる。

1)以下からjarをダウンロード

2)AndroidManufest.xmlにINTERNETパーミッションを追加
Android JaTTSの仕組みが、サーバ側でGalatea Talk (デモ)というものを動かしたものを再生しているので、Internet接続必要。






3)Activityソース作成
基本は以下で音声でる。



import net.gimite.jatts.JapaneseTextToSpeech;


public class DemoActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tts.speak(kuku[0], TextToSpeech.QUEUE_FLUSH, null);
}

第三引数はHashMapで音声を女性に変えたりできるみたい。


実際動かしてみたけど「は」を「わ」と認識されたりした。これはこのアプリとかではなく
音声合成ではよくあることなんかはわからんが、子供向けアプリを作りたいので
もうすこし流暢なほうがいいな。。

でも簡単に組み込めるのでおすすめです。

0 件のコメント: