開発したアプリなど一覧

Android の Text to speach API を使おうとしたらエラー出たので対処。

@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 という項目があったので押してみると設定できないようにグレーアプトされていた。

Voide 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
Sponsored Link

コメント