サンプルコード TtsEngine


TtsEngine – Text To Speech Engine の日本語訳
このサンプルでは、​​ユーザーが端末にインストールできるような テキスト音声変換エンジン (Text To Speech Engine) を作成する方法を示します。
このアプリケーションには、1つのサービスと2つのアクティビティが含まれています。
この API は、Android 4.0(API 14)以降のバージョンのプラットフォームでのみサポートされていることに注意してください。

・RobotSpeakEngine
特定の言語の個々のアルファベットに対応する、所定の周波数の方形波を生成することで、文章から音声を変換するシンプルなテキスト音声変換エンジンです。
これは、ロボットを除くと会話として十分ではないが、テキスト音声変換エンジンのフレームワークとしてクラス化することによって、新しいテキスト音声変換 API としてのすべての要素を持っている。

・CheckVoiceData
すべての音声関連のデータがインストールされ使用できるかをチェックする activity です。

・RobotSpeakSettings
様々なエンジンのパラメータを設定するユーザーの設定画面です。
通常は、ユーザーからシステム全体の設定アプリによってアクセスされます。
これは、メタデータとして AndroidManifest.xml 内で宣言されている必要があります。

動作確認
1. Engine の選択
システム設定の Language & input を選択する。
Text-to-speech output をクリックする。
Exsmple TTS Engine を選択する。

2. 例文を聞く
Listen to an exsample をクリックすると、 電子音が聞こえます。
LogCat に下記のようなメッセージが出ています。
TextToSpeechSettings: Failed to get sample text, no activity found for Intent …

Pico TTS でも、下記のようなメッセージが出ています。
エミュレータにサンプルテキストが含まれていないようです。
TextToSpeechSettings: Did not have a sample string for the requested language

追記: 実機で試してみたがうまくいかなかった

ソースコード
4つのファイルがあります。
・RobotSpeakTtsService.java
TextToSpeechService を継承した テキスト音声変換エンジン のサービス。

・CheckVoiceData.java
Activity を継承した データチェックの Activity

・RobotSpeakSettings.java
PreferenceActivity を継承した メニュー画面

・GeneralSettingsFragment.java
PreferenceFragment を継承した メニュー項目

変更
1つだけ変更が必要です。
AndroidManifest.xml

<!--
<uses-sdk android:minSdkVersion="IceCreamSandwich"
	android:targetSdkVersion="IceCreamSandwich" />
-->
<uses-sdk android:minSdkVersion="14"
	android:targetSdkVersion="14" />

関連記事
サンプルコード ActionBarCompat
サンプルコード AndroidBeamDemo
サンプルコード SampleSpellCheckerService
・サンプルコード TtsEngine
サンプルコード VoicemailProviderDemo
サンプルコード WiFiDirectDemo


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です