fi fi de ja ja ja ja ja ja ja ja ja zh ja ja ja ja kk ja ja ja hbs_lat ja ja en ja ja ja ja kk ja ja kk ja ms ja kk es ja en ja kk ja ja en en en fr en
サーバで音声に変換する方法なので、ネットワークに繋がっていないと使えません。
少し時間がかかります。ネットワークやサーバの状態によりますが、しゃべり始めるまでにだいたい3〜5秒はかかります。
入力内容はすべてサーバに送られます。
サーバが落ちていたりして失敗する場合があります。エラーが出る場合はしばらくしてから再度試してください。
android-jatts-0.0.2.jar をダウンロードしてAndroidアプリケーションのプロジェクトに追加。
AndroidManufest?.xmlにINTERNETパーミッションを追加。
JapaneseTextToSpeech?というクラスが、だいたいAndroid標準のTextToSpeech?クラスと同じように使えます。一部のメソッドしか実装されてないですが…。
import net.gimite.jatts.JapaneseTextToSpeech; import android.speech.tts.TextToSpeech; // ActivityやService内で JapaneseTextToSpeech tts = new JapaneseTextToSpeech(this, null); tts.speak("こんにちは", TextToSpeech.QUEUE_FLUSH, null);
speak()の第2引数は TextToSpeech?.QUEUE_FLUSH のみです。 QUEUE_ADD には未対応です。
speak()の第3引数で細かい設定ができます。
HashMap  params = new HashMap (); // notificationとして再生。 params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_NOTIFICATION)); // utterance idを設定。 params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "1"); // 声色を変える。JapaneseTextToSpeech独自オプション。 // "male01", "female01", "male02"の3種類。 params.put(JapaneseTextToSpeech.KEY_PARAM_SPEAKER, "female01"); tts.speak("こんにちは", TextToSpeech.QUEUE_FLUSH, params);
TextToSpeech?クラスと同様、JapaneseTextToSpeech?#setOnUtteranceCompletedListener?()が使えます。また、追加でsetOnStateChangedListener?()、setOnErrorListener()というのがあります。使い方はサンプルアプリケーションのMainActivity?.javaを見てください。
JapaneseTextToSpeech?クラス メソッド一覧 †
public class JapaneseTextToSpeech { // TextToSpeechクラス互換: public JapaneseTextToSpeech(Context context, TextToSpeech.OnInitListener listener); // ロード中も true になります。 public boolean isSpeaking(); public void setOnUtteranceCompletedListener( TextToSpeech.OnUtteranceCompletedListener listener); // queueModeは TextToSpeech.QUEUE_FLUSH のみ対応。 public synchronized void speak( String text, int queueMode, HashMap  params); public void stop(); // ロードに時間がかかるので、サブスレッド内での呼び出しを推奨。 public int synthesizeToFile(String text, HashMap  params, String filename); // 独自: public void setOnStateChangedListener(OnStateChangedListener listener); public void setOnErrorListener(OnErrorListener listener); public State getState(); public enum State { IDLE, LOADING, SPEAKING, } public interface OnStateChangedListener { public void onStateChanged(State state, String utteranceId); } public interface OnErrorListener { public void onError(Exception exception, String utteranceId); } }
android-jatts - Github
JaTTSDemoがサンプルアプリケーション、JaTTSLibがライブラリです。それぞれEclipseのプロジェクトファイルになっています。ライセンスは修正BSDライセンスです。
サーバ側でGalatea Talk (デモ)というものを動かして、音声ファイルに変換したものをAndroidで再生しているだけです。
http://gimite.net/speech?format=wav&speaker=female01&text=こんにちは
みたいなURLでwavファイルを取得できるので、他の用途で使いたい人はご自由にどうぞ。落ちたりするかもしれませんが。
サーバはGalatea Talkのライセンスに基づいて提供しています。ライブラリのライセンスは修正BSDライセンスです。
Last-modified: 2017-06-07 (水) 22:16:46 (1935d)
Link: OnErrorListener(2214d) FrontPage(2334d)
Site admin: Gimite
PukiWiki 1.5.1 © 2001-2016 PukiWiki Development Team. Powered by PHP 7.0.33-0ubuntu0.16.04.16. HTML convert time: 0.006 sec.