资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

输入参数和输出回调

在线选择

int initTts(TtsMode ttsMode);

初始化tts引擎,指定纯在线引擎。

  • TtsMode.ONLINE 纯在线。断网即不可使用。

网络状况及在线合成引擎:

合成参数

在SpeechSynthesizer类中setParam 方法中使用的参数及值。

填入的值如果不在范围内,相当于没有填写使用默认值。

参数名 类型,值 在线 常用程度 解释
PARAM_SPEAKER(基础发音人) 选项 在线 常用 仅在线生效,在线的发音
~ "0"(默认) ~ ~ 度小美(普通女声)
~ "1" ~ ~ 度小宇(成熟男声)
~ "3" ~ ~ 度逍遥(磁性男声)
~ "4" ~ ~ 度丫丫(可爱女童)
PARAM_SPEAKER (精品发音人) "106" ~ ~ 度博文(情感男声)
~ "110" ~ ~ 度小童(情感儿童声)
~ "111" ~ ~ 度小萌(情感女声)
~ "103" ~ ~ 度米朵(情感儿童声)
~ "5" ~ ~ 度小娇(情感女声)
~ "5003" ~ ~ 精品度逍遥(磁性男声)
~ "5118" ~ ~ 度小鹿(甜美女声)
PARAM_VOLUME String, 默认"5" 全部 常用 在线合成的音量 。范围["0" - "15"], 不支持小数。 "0" 最轻,"15" 最响。
PARAM_SPEED String, 默认"5" 全部 常用 在线合成的语速 。范围["0" - "15"], 不支持小数。 "0" 最慢,"15" 最快
PARAM_PITCH String, 默认"5" 全部 常用 在线合成的语调 。范围["0" - "15"], 不支持小数。 "0" 最低沉, "15" 最尖
PARAM_AUDIO
_ENCODE
选项 在线 基本不用 不使用改参数即可。SDK与服务器音频传输格式,与 PARAMAUDIO_RATE参数一起使用。可选值为SpeechSynthesizer.AUDIO_ENCODE*, 其中SpeechSynthesizer.AUDIO_ENCODE_PCM为不压缩
PARAM_AUDIO
_RATE
选项 在线 基本不用 不使用改参数即可。SDK与服务器音频传输格式,与 PARAMAUDIO_ENCODE参数一起使用。可选值为SpeechSynthesizer.AUDIO_BITRATE*, 其中SpeechSynthesizer.AUDIO_BITRATE_PCM 为不压缩传输

输出回调接口

SpeechSynthesizerListener 中,SDK会根据合成的状态及数据调用这个接口中的不同方法。

SDK使用的是边获取合成结果,边播放的方式。因此合成,播放的回调会交替进行。使用speak方法时,都会产生合成和播放的回调。

如果使用synthesize方法,则只会产生合成的回调,需要用户自行处理onSynthesizeDataArrived中的audioData的音频数据。

其中回调方法中的utteranceId是调用speak或者synthesize合成方法时输入的,默认是"0"。

合成开始

本次合成过程开始时,SDK的回调

void onSynthesizeStart (String utteranceId);

合成过程中的数据回调接口

合成数据过程中的回调接口,返回合成数据和进度,分多次回调。

 void onSynthesizeDataArrived(String utteranceId, byte[] audioData, int progress, int engineType);
  • audioData: 合成的部分数据,可以就这部分数据自行播放或者顺序保存到文件。如果保存到文件的话,是一个pcm可以播放的音频文件。 音频数据是16K采样率,16bits编码,单声道。
  • progress 大致进度。从0 到 “合成文本的字符数”。
  • engineType ; 0:当前的audioData数据数据由在线引擎(百度服务器)合成。

合成结束

本次合成正常结束状态时,SDK的回调

 void onSynthesizeFinish (String utteranceId);

播放开始

SDK开始控制播放器播放合成的声音。如果使用speak方法会有此回调,使用synthesize没有。

void onSpeechStart (String utteranceId);

播放过程中的回调

播放数据过程中的回调接口,分多次回调。

如果使用speak方法会有此回调,使用synthesize没有。

void onSpeechProgressChanged(String utteranceId, int progress);
  • progress 大致进度。从0 到 “合成文本的字符数”。

播放结束

播放正常结束状态时的回调方法,如果过程中出错,则回调onError,不再回调此接口。

 void onSpeechFinish (String utteranceId);

合成和播放过程中出错时的回调

合成和播放过程中出错时回调此接口

onError(String utteranceId,SpeechError error);

SpeechError 类有2个值:

  • code:int,错误码。 具体错误码见“错误码及解决方法”一节
  • description: String, 具体的错误信息。