@IT の Android関連の記事を見ながらぽちぽち試していたら、TextToSpeach の部分でエラーが出て喋ってくれなかったのでちょっと調べた。
Android 1.6のジェスチャーとテキスト読み上げを使う (3/3) - @IT
エラーは以下の様な感じ。
02-19 14:30:35.924: V/TtsService(16034): TtsService.setLanguage (eng, USA, )
02-19 14:30:35.924: E/SVOX Pico Engine(16034): Failed to load textana resource for en-US [-40]
02-19 14:30:35.924: I/SynthProxy(16034): setting speech rate to 100
02-19 14:30:36.013: I/TTS received:(738): I'm ready!
02-19 14:30:36.013: V/TtsService(16034): TTS service received I'm ready!
02-19 14:30:36.013: I/TtsService(16034): Stopping
02-19 14:30:36.013: I/TtsService(16034): Stopped
02-19 14:30:36.013: I/TtsService(16034): TTS processing: I'm ready!
02-19 14:30:36.013: V/TtsService(16034): TtsService.setLanguage (eng, USA, )
02-19 14:30:36.013: E/SVOX Pico Engine(16034): Failed to load textana resource for en-US [-40]
02-19 14:30:36.013: I/SynthProxy(16034): setting speech rate to 100
02-19 14:30:36.023: E/SVOX Pico Engine(16034): Error synthesizing string 'I'm ready!': [-101]
見た感じ音声エンジンのロードに失敗している様子。APIが用意されてるなら最初から入ってると思ってたらそうでもない?
Android本体の設定を確認してみると、Voice input & output の中に Text-to-Speach settings という項目があったので押してみると設定できないようにグレーアプトされていた。
ここで Install Voice Data を押すと、Android market へ飛び、音声データをインストールする事ができる。
インストール後再度アプリケーションを起動したら音声が再生されたのでOKだろう。音声再生成功時は以下のようなログになった。
02-19 14:39:22.304: V/TtsService(17947): About to load /system/lib/libttspico.so, applyFilter=true
02-19 14:39:22.344: V/TtsService(17947): TtsService.setLanguage(eng, USA, )
02-19 14:39:22.474: I/SVOX Pico Engine(17947): loaded en-US successfully
02-19 14:39:22.484: I/SynthProxy(17947): setting speech rate to 60
02-19 14:39:22.534: I/TextToSpeech.java - speak(17924): speak text of length 10
02-19 14:39:22.534: V/TtsService(17947): TTS service received I'm ready!
02-19 14:39:22.554: I/TtsService(17947): Stopping
02-19 14:39:22.554: I/TtsService(17947): Stopped
02-19 14:39:22.554: V/TtsService(17947): TTS processing: I'm ready!
02-19 14:39:22.564: V/TtsService(17947): TtsService.setLanguage(eng, USA, )
02-19 14:39:22.564: I/SVOX Pico Engine(17947): Language already loaded (en-US == en-US)
02-19 14:39:22.564: I/SynthProxy(17947): setting speech rate to 60
02-19 14:39:22.564: I/SynthProxy(17947): setting pitch to 100
コメント