ラズパイ Open JTalk


20160610_openjtalk

Open JTalk は、入力された日本語テキストに基づいて自由な音声を生成する HMM テキスト音声合成システムです。

インストール

$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic 
$ sudo apt-get install hts-voice-nitech-jp-atr503-m001

確認

$ echo "こんにちは" | open_jtalk -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow /tmp/jtalk.wav
$ aplay /tmp/jtalk.wav

女性の声の設定
MMDAgent は、音声インタラクションシステム構築ツールキットです。

インストール

$ cd /tmp
$ wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.6/MMDAgent_Example-1.6.zip
$ unzip MMDAgent_Example-1.6.zip
$ sudo cp -R ./MMDAgent_Example-1.6/Voice/mei /usr/share/hts-voice/

確認
-m オプションを MMDAgent にします

$ echo "こんにちは" | open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic  -ow /tmp/jtalk.wav
$ aplay /tmp/jtalk.wav

参考
Raspberry piで日本語音声合成(Open JTalk)を試してみる。


TtsEngine – Android 4.0


20130703tts_engine

Android 4.0 から、Text-to-speech API が拡張されました。
アプリがより簡単にカスタムされた TTS (Text-to-speech) エンジンを実装できるようになりました。TTS エンジンを選択するための新しい API が追加されました。

Android 4.0 APIs | 日本語訳

TTS エンジンのサンプルコードとして TtsEngine が公開されています。

Android 4.0 の端末で、試してみました。
(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 …

(3) Google Text-to-Speech
Google Text-to-Speech では、下記のような音声が聞こえる
This is sample speech synthesis in English.
なお、LogCat に同じメッセージが出ています。
TextToSpeechSettings: Failed to get sample text, no activity found for Intent …


サンプルコード 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