开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
语音技术

    输入参数和输出回调

    在线选择

    int initTts(TtsMode ttsMode);

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

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

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

    合成参数

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

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

    参数名 类型,值 在线 常用程度 解释
    PARAM_SPEAKER 选项 在线 常用 仅在线生效,在线的发音
    ~ "0"(默认) ~ ~ 普通女声
    ~ "1" ~ ~ 普通男声
    ~ "2" ~ ~ 特别男声
    ~ "3" ~ ~ 情感男声<度逍遥>
    ~ "4" ~ ~ 情感儿童声<度丫丫>
    ~ "106" ~ ~ 度博文(情感男声)
    ~ "110" ~ ~ 度小童(情感儿童声)
    ~ "111" ~ ~ 度小萌(情感女声)
    ~ "103" ~ ~ 度米朵(情感儿童声)
    ~ "5" ~ ~ 度小娇(情感女声)
    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, 具体的错误信息。
    上一篇
    接口及调用过程
    下一篇
    错误码