Skip to content

开启语音合成

方法名

startSambertTts

注意

识别结果在初始化回调中返回

用法

  • 用法如下:
js
module.startSambertTts({
  params: {
    // 注意!!!不要在端侧使用长效API Key!!!
    // 注意!!!不要在端侧使用长效API Key!!!
    // 注意!!!不要在端侧使用长效API Key!!!
    // 将长效API Key硬编码在端侧代码中,会导致安全风险!!!
    // 请在自建服务端获得临时鉴权Token(有效期60s,最长可设置1800s),再下发到端侧进行使用。
    // 临时鉴权Token: https://help.aliyun.com/zh/model-studio/obtain-temporary-authentication-token
    //
    // 服务只需要在临时Token(API Key)快过期前刷新一次。各端侧在Token(API Key)快过期前从服务获得新的
    // 临时Token(API Key)。
    apikey: AppConfig.dashApiKey,
    //合成文本
    text: this.form.text,
    //音频编码格式,支持pcm、wav
    format: this.form.format,
    // Sambert语音合成发音人可以参考阿里云官网:
    // https://help.aliyun.com/zh/model-studio/sambert-websocket-api
    voice: this.form.voice,
    // 合成音频的采样率(单位:Hz)。
    // 建议使用模型默认采样率(参见模型列表),如果不匹配,服务会进行必要的升降采样处理。
    sampleRate: this.form.sampleRate,
    // 音量,取值范围:0~100。默认值:50。
    volume: this.form.volume,
    //调整语速, 语速倍速区间为[0.5, 1.0, 2.0]
    speechRate: this.form.speechRate,
    //合成音频的语调,取值范围:0.5~2。
    pitchRate: this.form.pitchRate,
    // 字级别音素边界功能开关。“1”表示打开,“0”表示关闭。默认关闭。
    // wordTimestampEnabled: "1",
    // 是否在开启字级别时间戳的基础上,显示音素级别时间戳。
    // 和wordTimestampEnabled搭配使用,“1”表示打开,“0”表示关闭。默认关闭。
    // phonemeTimestampEnabled: "1",
    // 设置文档中不存在的参数, key为custom_params, value以json string的形式设置参数
    // customParams: "{\"enable_phoneme_timestamp\":true}",
    // 打开音量回调onNuiTtsVolumeCallback。
    // 注意!此音频是SDK刚收到合成数据的音量值,而非正在播放的音量值。
    // enableCallbackVol:"1",
    // 设置dns超时时间, 当DNS解析超时时返回错误事件
    // dnsTimeout: "500",
    //是否保存音频文件
    saveAudio: this.form.saveAudio,
    //音频文件保存目录,可以为空
    audioDir: "/storage/emulated/0/alyNui/audio",
    //文件保存类型
    saveType: this.form.format,
    //自定义任务id
    taskId: "",
  },
  //成功执行的函数
  success: (res) => {
    console.log(res)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  complete: (res) => {
    console.log(res)
  }
})
js
module.startSambertTts({
  params: {
    // 注意!!!不要在端侧使用长效API Key!!!
    // 注意!!!不要在端侧使用长效API Key!!!
    // 注意!!!不要在端侧使用长效API Key!!!
    // 将长效API Key硬编码在端侧代码中,会导致安全风险!!!
    // 请在自建服务端获得临时鉴权Token(有效期60s,最长可设置1800s),再下发到端侧进行使用。
    // 临时鉴权Token: https://help.aliyun.com/zh/model-studio/obtain-temporary-authentication-token
    //
    // 服务只需要在临时Token(API Key)快过期前刷新一次。各端侧在Token(API Key)快过期前从服务获得新的
    // 临时Token(API Key)。
    apikey: AppConfig.dashApiKey,
    //合成文本
    text: text.value,
    //音频编码格式,支持pcm、wav
    format: format.value,
    // Sambert语音合成发音人可以参考阿里云官网:
    // https://help.aliyun.com/zh/model-studio/sambert-websocket-api
    voice: voice.value,
    // 合成音频的采样率(单位:Hz)。
    // 建议使用模型默认采样率(参见模型列表),如果不匹配,服务会进行必要的升降采样处理。
    sampleRate: sampleRate.value,
    // 音量,取值范围:0~100。默认值:50。
    volume: volume.value,
    //调整语速, 语速倍速区间为[0.5, 1.0, 2.0]
    speechRate: speechRate.value,
    //合成音频的语调,取值范围:0.5~2。
    pitchRate: pitchRate.value,
    // 字级别音素边界功能开关。“1”表示打开,“0”表示关闭。默认关闭。
    // wordTimestampEnabled: "1",
    // 是否在开启字级别时间戳的基础上,显示音素级别时间戳。
    // 和wordTimestampEnabled搭配使用,“1”表示打开,“0”表示关闭。默认关闭。
    // phonemeTimestampEnabled: "1",
    // 设置文档中不存在的参数, key为custom_params, value以json string的形式设置参数
    // customParams: "{\"enable_phoneme_timestamp\":true}",
    // 打开音量回调onNuiTtsVolumeCallback。
    // 注意!此音频是SDK刚收到合成数据的音量值,而非正在播放的音量值。
    // enableCallbackVol:"1",
    // 设置dns超时时间, 当DNS解析超时时返回错误事件
    // dnsTimeout: "500",
    //是否保存音频文件
    saveAudio: saveAudio.value,
    //音频文件保存目录,可以为空
    audioDir: "/storage/emulated/0/alyNui/audio",
    //文件保存类型
    saveType: format.value,
    //自定义任务id
    taskId: "",
  },
  //成功执行的函数
  success: (res) => {
    console.log(res)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  // complete: (res) => {
  //   console.log(res)
  // }
} as LevenOptions)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject接口请求参数
    params.apikeyString临时Token
    params.textString合成文本
    params.formatString音频编码格式,支持pcm、wav
    params.distanceExpireTimeInteger300token过期时间设定
    params.voiceString发音人,Sambert语音合成发音人可以参考阿里云官网:https://help.aliyun.com/zh/model-studio/sambert-websocket-api
    params.sampleRateInteger16000音频采样率,建议使用模型默认采样率(参见模型列表),如果不匹配,服务会进行必要的升降采样处理。
    params.volumeInteger50音量,取值范围:0~100。默认值:50。
    params.speechRateInteger1.0调整语速, 语速倍速区间为[0.5, 1.0, 2.0]
    params.pitchRateInteger1.0合成音频的语调,取值范围:0.5~2
    params.wordTimestampEnabledInteger0字级别音素边界功能开关。“1”表示打开,“0”表示关闭。默认关闭
    params.phonemeTimestampEnabledInteger0是否在开启字级别时间戳的基础上,显示音素级别时间戳,和wordTimestampEnabled搭配使用,“1”表示打开,“0”表示关闭。默认关闭
    params.customParamsString0设置文档中不存在的参数, key为custom_params, value以json string的形式设置参数
    params.enableCallbackVolBoolean打开音量回调onNuiTtsVolumeCallback,注意!此音频是SDK刚收到合成数据的音量值,而非正在播放的音量值
    params.dnsTimeoutString设置dns超时时间, 当DNS解析超时时返回错误事件
    params.saveAudioBooleanfalse是否保存音频文件
    params.audioDirString音频文件保存目录,可以为空
    params.saveTypeString音频文件保存类型,可选值:pcm wav
    params.taskIdString自定义任务id
    successFunction执行成功的函数
    failFunction执行失败的函数
    completeFunction执行完成的函数,不管成功还是失败都会执行

回调

  • 示例
json
{
    "data": {},
    "message": "",
    "code": 0
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    codeInteger返回类型,0.成功,其他:失败