Logo
短いテキストの音声合成

Android SDK

1 統合手順

1.1 aar依存関係の追加

android-tts-sdk-release-V1.0.0.0.aar をプロジェクトの libs ディレクトリに配置して、 app モジュールのbuild.gradle を修正し、aarファイルとokhttpを依存関係として追加します。

implementation fileTree(dir:"libs",include:["*.jar","*.aar"])
implementation'com.squareup.okhttp3:okhttp:4.9.0'

1.2 アプリに関連する権限の追加

AndroidManifest.xmlファイルを修正してください。

<!--インターネット権限-->
<uses-permission android:name="android.permission.INTERNET" />

2 呼出し手順・サンプルコード

2.1.インスタンスの取得

⑴ 合成クラスの作成

     Tts tts=Tts.getInstance(this,((code,msg)->{
        if("00000".equals(code)){
        System.out.println("成功");
        }else{
        Toast.makeText(this,msg,Toast.LENGTH_SHORT).show();
        }
      }));  

⑵ コールバックの設定

(1)コールバックパラメータの説明

名前タイプ説明レスポンスパラメータ
onStartFunctionエンジン接続開始のコールバックメソッドStringタイプ 現在のタスクのid
onWarningFunctionエンジンからの警告結果のコールバックメソッドタスクid及びErrorsタイプのステータスコード
onErrorFunctionエンジンからのエラー結果のコールバックメソッドタスクid及びErrorsタイプのステータスコード
onPlayStartFunctionエンジンからの再生開始のコールバックメソッドなし
onPlayFinishFunctionエンジンからの合成終了のコールバックメソッドなし
onGetAudioFunctionエンジンからの合成音声データのコールバックメソッドbyte[]タイプの音声データ
onSynthesisTimestampFunctionエンジンからのタイムスタンプ及び音素のコールバックメソッドJsonObject
onStopFunctionエンジンからの再生終了のコールバックメソッドなし
(2)パラメータのインスタンス
tts.setListener(new Tts.Listener(){
@Override
public void onStart(String taskId){}

@Override
public void onStop(){}

@Override
public void onError(String taskId,ErrorCodes.ErrorCode err){}

@Override
public void onGetAudio(byte[]data){}

@Override
public void onPlayStart(){}

@Override
public void onPlayFinish(){}

@Override
public void onSynthesisTimestamp(JsonObject payload){}

@Override
public void onWarning(String taskId,ErrorCodes.ErrorCode err){}

        });

3.パラメータの設置

パラメータタイプ必須かどうか説明デフォルト値
textStringはい合成待ちのテキストの長さの制限は、1024バイト(UTF-8エンコード)です。なし
text_typeStringいいえplainplain
lang_typeStringはい言語のオプションは、開発ガイド-言語とボイスのサポートをご参照ください。なし
voiceStringはいボイスのコードは、開発ガイド-言語とボイスのサポートをご参照ください。日本語:Xiaohui
英語:Julie
中国語:Xiaohui
sample_rateIntegerいいえ音声のサンプリングレートは、8000、16000、24000を選択できます。24000
formatStringいいえ音声エンコードの形式は、wav / pcm / ogg_opus / mp3です。
注意:wav はストリーミングをサポートしていません。
pcm
compression_rateIntegerいいえopus形式の場合のエンコード圧縮比、パラメータ範囲 [1, 20]です。1
speech_rateFloatいいえ話速、パラメータ範囲 [0.2, 3]、通常は小数点以下1桁で十分です1
volumeFloatいいえ音量、パラメータ範囲 [0.1, 3]、通常は小数点以下1桁で十分です1
pitch_rateFloatいいえイントネーション、[-1.0, 1.0] の範囲の数値で表されるオクターブ、-1.0 は低いオクターブ、1.0 は高いオクターブを表します0
emotionStringいいえ感情・スタイル、開発ガイド-言語とボイスのサポートを参照してください。なし
silence_durationIntegerいいえ文末の無音時間、単位はミリ秒(ms)です125
enable_timestampBooleanいいえタイムスタンプ関連、trueを渡すと有効になり、元のテキストのタイムスタンプを返すことができます(TN処理後のテキストではなく、元のテキスト内のアラビア数字や特殊記号などを保持します)。注意:元のテキストに連続した句読点やスペースは依然として処理されますが、タイムスタンプの連続性には影響しません。false
   Tts.Params params=tts.getParams();
        params.setText(text);
        params.setSampleRate(24000);
        params.setFormat("pcm");
        params.setLang("zh-cmn-Hans-CN");

4. 合成開始/合成停止

tts.start();
tts.stop(); 

5. SDKダウンロード

Android SDK

Android Demo