開発したアプリなど一覧

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

コメント

タイトルとURLをコピーしました