日本語で音声出力

アプリでテキストを読み上げたりするときに利用するTextToSpeechクラスですが、このクラスは日本語には対応していません。

しかし、日本語の音声出力専用のライブラリを使えば日本語での音声出力ができるようになります。

ここではJapaneseTextToSpeech(JATTS)というネット経由で文章を読み上げてくれるライブラリの導入の仕方と使い方を紹介します。

  1. JATTSライブラリの導入
  2. JapaneseTextToSpeechクラスの使い方

JATTSライブラリの導入

まず、以下のサイトからandroid-jatts-0.0.2.jarをダウンロードします。

http://gimite.net/archive/android-jatts-0.0.2.jar

ダウンロードが完了したらeclipse上で次の手順を実行し、ライブラリを利用可能にします。

  1. プロジェクトフォルダ(一番上)で右クリックし、「Properties」メニューを選び、出てきたウインドウの左から「Java Build Path」を選びます。

  2. ライブラリを追加するためにタブ一覧から「Libraries」を選択します。

    そこから「Add External JARs」ボタンをクリックし、android-jatts-0.0.2.jarを追加します。

    Librariesタブの画像
  3. 次に「Order and Export」のタブを開き、追加したライブラリのチェックボックスにチェックをつけます。

    最後にOKを押せばライブラリが利用できるようになります。

    Order and Exportタブの画像

JapaneseTextToSpeechの使い方

JapaneseTextToSpeechクラスはTextToSpeechクラスを拡張して作成されているため、使い方はTextToSpeechとほとんど変わりません。

例えば、ボタンを押したら「こんにちは」と音声出力したい場合は次のようなコードを書きます。

public class MainActivity extends Activity
{
    
    JapaneseTextToSpeech jtts;
    
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        jtts = new JapaneseTextToSpeech(this, null);
        
        Button speechButton = (Button)findViewById(R.id.speechButton);
        speechButton.setOnClickListener(new View.onClickListener(){
            public void onClicl(View v){
                HashMap<String, String> params = new HashMap<String, String>();
                params.put(JapaneseTextToSpeech.KEY_PARAM_SPEAKER, "female01");
                    // 声色を変える。
                jtts.speak("こんにちは", TextToSpeech.QUEUE_FLUSH, null);
                    //音声出力
            }
        });
    }

}

このクラス独自の仕様として声色が変えることができ、"female01", "male01", "male02"の3種類の中から声の種類を選ぶことが可能です。

関連項目
プライバシーポリシー