Appearance
初始化
方法名
initTts
注意
识别结果会在该方法中回调
用法
- 用法如下:
js
module.initTts({
params: {
//【可选配置】初始化模式,可选值:Online,Offline,Both,Alternate,File
//Online:只进行在线合成,不需要配置离线合成相关参数(默认)
//Offline:只进行离线合成,不需要配置在线合成相关参数
//Alternate:优先发起在线合成,失败后(网络错误),启动离线合成引擎开始合成
//Both:同时发起在线合成与离线合成,在线请求失败的情况下,使用离线合成数据,该模式会消耗更多系统性能;
//File:文件合成-SDK文档未做详细介绍
workMode: "Online",
//【可选配置】Debug目录,音频也保存到此目录
debugDir: "/storage/emulated/0/hsSpeech/debug",
//【可选配置】日志级别,可选值:DEBUG,TRACE,INFO,WARN,ERROR,FATAL
logLevel: "DEBUG",
//【可选配置】User ID(用以辅助定位线上用户问题)
uid: "leven",
//【可选配置】DEVICE_ID(用以辅助定位线上用户问题)
deviceId: "0",
//【可选配置】是否将合成出的音频保存到设备上
// TTS 音频文件保存目录,必须在合成之前创建好且 APP 具有访问权限,保存的音频文件名格式为 tts_{reqid}.wav, {reqid} 是本次合成的请求 id
saveAudio: true,
//【可选配置】合成出的音频的采样率,默认为 24000
sampleRate: 24000,
//【可选配置】打断播放时使用多长时间淡出停止,单位:毫秒。默认值 0 表示不淡出
audioFadeoutDuration: 0,
//【必需配置】鉴权相关:Appid
appId: "4413143697",
//【必需配置】鉴权相关:Token,Token前需要加上Bearer;
token: "Bearer;CUT52ZrQxcTNlbY_AtzCxJx4F4SW7KTG",
//【可选配置】识别服务域名,默认:wss://openspeech.bytedance.com
address: "wss://openspeech.bytedance.com",
//【可选配置】识别服务Uri,默认:/api/v1/tts/ws_binary
uri: "/api/v1/tts/ws_binary",
//【必需配置】语音合成服务所用集群
cluster: "volcano_tts",
//【可选配置】在线合成下发的 opus-ogg 音频的压缩倍率
compressionRate: 10,
// ------------------------ 离线合成相关配置 -----------------------
//离线合成方式,可选值:
//SingleVoice:单音色资源是指一个资源文件仅包含一个离线音色,新版(V4 及以上)离线合成用的就是单音色资源
//MultipleVoice:音色资源是指一个资源文件中包含了多个离线音色,这种资源一般是旧版(V2)离线合成所用资源
ttsOfflineModeFormat: "SingleVoice",
//离线合成模型名称,ttsOfflineModeFormat为MultipleVoice时有效
ttsModelName: "aispeech_tts",
//【必需配置】离线合成鉴权相关:证书文件存放路径
licenseDirectory: "/storage/emulated/0/hsSpeech/debug",
//【必需配置】Authenticate Type:可选值:pre_bind,late_bind
authenticateType: "pre_bind",
// 证书名,用于下载按报名授权的证书文件,authenticateType为pre_bind时有效
ttsLicenseName: "",
// 业务 ID, 用于下载按报名授权的证书文件,authenticateType为pre_bind时有效
ttsLicenseBusiId: "",
//【必需配置】离线合成鉴权相关:Authenticate Address,authenticateType为late_bind时有效
authenticateAddress: "",
//【必需配置】离线合成鉴权相关:Authenticate Uri,authenticateType为late_bind时有效
authenticateUri: "",
//【必需配置】离线合成鉴权相关:Business Key,authenticateType为late_bind时有效
businessKey: "",
//【必需配置】离线合成鉴权相关:Authenticate Secret,authenticateType为late_bind时有效
authenticateSecret: "fVn88i22Km1zM1WsU4SWc0wcqHOSp8KR",
// ------------------------ 在离线切换相关配置 -----------------------
// 断点续播功能在断点处会发生由在线合成音频切换到离线合成音频,为了提升用户体验,SDK 支持
// 淡出地停止播放在线音频然后再淡入地开始播放离线音频,下面两个参数可以控制淡出淡入的长度
//【可选配置】断点续播专用,切换到离线合成时淡入的音频长度,单位:毫秒
ttsFadeInDuration: 30,
//【可选配置】断点续播专用,在线合成停止播放时淡出的音频长度,单位:毫秒
ttsFadeoutDuration: 30,
//【可选配置】APP版本号
appVersion: "1.0.0",
//【可选配置】是否使用在线模式
useOnlineModel: true,
//【可选配置】离线合成将会使用的音色
needDownloadVoiceType: [],
//【可选配置】需要下载的离线合成语种资源
offlineLanguage: ""
},
//成功执行的函数
success: (res) => {
console.log(res);
let data = res.data;
let status = data.status;
if (status == "onInitSuccess") {
//初始化成功
console.log("初始化成功")
} else if (status == "onSpeechMessage") {
//语音消息
let typeName = data.typeName;
switch (typeName) {
case "MESSAGE_TYPE_ENGINE_START":
console.log("启动引擎成功")
break
case "MESSAGE_TYPE_ENGINE_STOP":
console.log("引擎关闭")
break
case "MESSAGE_TYPE_ENGINE_ERROR":
console.log("错误信息回调:" + data.result)
break
case "MESSAGE_TYPE_TTS_SYNTHESIS_BEGIN":
console.log("合成开始:" + data.result)
break
case "MESSAGE_TYPE_TTS_SYNTHESIS_END":
console.log("合成结束:" + data.result)
break
case "MESSAGE_TYPE_TTS_START_PLAYING":
console.log("播放开始:" + data.result)
break
case "MESSAGE_TYPE_TTS_PLAYBACK_PROGRESS":
console.log("播放进度:" + data.result)
break
case "MESSAGE_TYPE_TTS_FINISH_PLAYING":
console.log("播放结束:" + data.result)
break
case "MESSAGE_TYPE_TTS_AUDIO_DATA":
console.log("音频数据:" + data.result)
break
}
}
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
// console.log(res)
}
})js
module.initTts({
params: {
//【可选配置】初始化模式,可选值:Online,Offline,Both,Alternate,File
//Online:只进行在线合成,不需要配置离线合成相关参数(默认)
//Offline:只进行离线合成,不需要配置在线合成相关参数
//Alternate:优先发起在线合成,失败后(网络错误),启动离线合成引擎开始合成
//Both:同时发起在线合成与离线合成,在线请求失败的情况下,使用离线合成数据,该模式会消耗更多系统性能;
//File:文件合成-SDK文档未做详细介绍
workMode: "Online",
//【可选配置】Debug目录,音频也保存到此目录
debugDir: "/storage/emulated/0/hsSpeech/debug",
//【可选配置】日志级别,可选值:DEBUG,TRACE,INFO,WARN,ERROR,FATAL
logLevel: "DEBUG",
//【可选配置】User ID(用以辅助定位线上用户问题)
uid: "leven",
//【可选配置】DEVICE_ID(用以辅助定位线上用户问题)
deviceId: "0",
//【可选配置】是否将合成出的音频保存到设备上
// TTS 音频文件保存目录,必须在合成之前创建好且 APP 具有访问权限,保存的音频文件名格式为 tts_{reqid}.wav, {reqid} 是本次合成的请求 id
saveAudio: true,
//【可选配置】合成出的音频的采样率,默认为 24000
sampleRate: 24000,
//【可选配置】打断播放时使用多长时间淡出停止,单位:毫秒。默认值 0 表示不淡出
audioFadeoutDuration: 0,
//【必需配置】鉴权相关:Appid
appId: "4413143697",
//【必需配置】鉴权相关:Token,Token前需要加上Bearer;
token: "Bearer;CUT52ZrQxcTNlbY_AtzCxJx4F4SW7KTG",
//【可选配置】识别服务域名,默认:wss://openspeech.bytedance.com
address: "wss://openspeech.bytedance.com",
//【可选配置】识别服务Uri,默认:/api/v1/tts/ws_binary
uri: "/api/v1/tts/ws_binary",
//【必需配置】语音合成服务所用集群
cluster: "volcano_tts",
//【可选配置】在线合成下发的 opus-ogg 音频的压缩倍率
compressionRate: 10,
// ------------------------ 离线合成相关配置 -----------------------
//离线合成方式,可选值:
//SingleVoice:单音色资源是指一个资源文件仅包含一个离线音色,新版(V4 及以上)离线合成用的就是单音色资源
//MultipleVoice:音色资源是指一个资源文件中包含了多个离线音色,这种资源一般是旧版(V2)离线合成所用资源
ttsOfflineModeFormat: "SingleVoice",
//离线合成模型名称,ttsOfflineModeFormat为MultipleVoice时有效
ttsModelName: "aispeech_tts",
//【必需配置】离线合成鉴权相关:证书文件存放路径
licenseDirectory: "/storage/emulated/0/hsSpeech/debug",
//【必需配置】Authenticate Type:可选值:pre_bind,late_bind
authenticateType: "pre_bind",
// 证书名,用于下载按报名授权的证书文件,authenticateType为pre_bind时有效
ttsLicenseName: "",
// 业务 ID, 用于下载按报名授权的证书文件,authenticateType为pre_bind时有效
ttsLicenseBusiId: "",
//【必需配置】离线合成鉴权相关:Authenticate Address,authenticateType为late_bind时有效
authenticateAddress: "",
//【必需配置】离线合成鉴权相关:Authenticate Uri,authenticateType为late_bind时有效
authenticateUri: "",
//【必需配置】离线合成鉴权相关:Business Key,authenticateType为late_bind时有效
businessKey: "",
//【必需配置】离线合成鉴权相关:Authenticate Secret,authenticateType为late_bind时有效
authenticateSecret: "fVn88i22Km1zM1WsU4SWc0wcqHOSp8KR",
// ------------------------ 在离线切换相关配置 -----------------------
// 断点续播功能在断点处会发生由在线合成音频切换到离线合成音频,为了提升用户体验,SDK 支持
// 淡出地停止播放在线音频然后再淡入地开始播放离线音频,下面两个参数可以控制淡出淡入的长度
//【可选配置】断点续播专用,切换到离线合成时淡入的音频长度,单位:毫秒
ttsFadeInDuration: 30,
//【可选配置】断点续播专用,在线合成停止播放时淡出的音频长度,单位:毫秒
ttsFadeoutDuration: 30,
//【可选配置】APP版本号
appVersion: "1.0.0",
//【可选配置】是否使用在线模式
useOnlineModel: true,
//【可选配置】离线合成将会使用的音色
needDownloadVoiceType: [] as string[],
//【可选配置】需要下载的离线合成语种资源
offlineLanguage: ""
},
//成功执行的函数
success: (res) => {
const data = res.data;
console.log(data)
let status = data.getString("status")
if (status == "onInitSuccess") {
console.log("初始化成功")
} else if (status == "onSpeechMessage") {
//语音消息
let typeName = data.getString("typeName");
switch (typeName) {
case "MESSAGE_TYPE_ENGINE_START":
console.log("启动引擎成功")
break
case "MESSAGE_TYPE_ENGINE_STOP":
console.log("引擎关闭")
break
case "MESSAGE_TYPE_ENGINE_ERROR":
console.log("错误信息回调:" + data.getString("result"))
break
case "MESSAGE_TYPE_TTS_SYNTHESIS_BEGIN":
console.log("合成开始")
break
case "MESSAGE_TYPE_TTS_SYNTHESIS_END":
console.log("合成结束:" + data.getString("result"))
break
case "MESSAGE_TYPE_TTS_START_PLAYING":
console.log("播放开始:" + data.getString("result"))
break
case "MESSAGE_TYPE_TTS_PLAYBACK_PROGRESS":
console.log("播放进度:" + data.getString("result"))
break
case "MESSAGE_TYPE_TTS_FINISH_PLAYING":
console.log("播放结束:" + data.getString("result"))
break
case "MESSAGE_TYPE_TTS_AUDIO_DATA":
console.log("音频数据:" + data.getString("result"))
break
}
}
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)- 参数说明
参数名 参数类型 是否必填 默认值 参数描述 params Object 是无 接口请求参数 params.workMode String 否 Online 初始化模式,可选值: Online:只进行在线合成,不需要配置离线合成相关参数(默认)Offline:只进行离线合成,不需要配置在线合成相关参数Alternate:优先发起在线合成,失败后(网络错误),启动离线合成引擎开始合成Both:同时发起在线合成与离线合成,在线请求失败的情况下,使用离线合成数据,该模式会消耗更多系统性能File:文件合成-SDK文档未做详细介绍params.debugDir String 否 无 debug目录,生成的音频文件也在该目录中 params.logLevel String 否 无 日志级别,可选值: DEBUG,TRACE,INFO,WARN,ERROR,FATALparams.uid String 否 无 用户id(用以辅助定位线上用户问题) params.deviceId String 否 无 设备id(用以辅助定位线上用户问题) params.saveAudio Boolean 否 false 是否将合成出的音频保存到设备上,TTS 音频文件保存目录,必须在合成之前创建好且 APP 具有访问权限,保存的音频文件名格式为 tts_{reqid}.wav, {reqid} 是本次合成的请求 id params.sampleRate Integer 否 24000 合成出的音频的采样率,默认24000 params.audioFadeoutDuration Integer 否 无 打断播放时使用多长时间淡出停止,单位:毫秒。默认值 0 表示不淡出 params.appId String 是无 鉴权相关:Appid params.token String 是无 鉴权相关:Token,Token前需要加上Bearer; params.address String 否 wss://openspeech.bytedance.com 识别服务域名,默认:wss://openspeech.bytedance.com params.uri String 否 /api/v1/tts/ws_binary 识别服务Uri,默认:/api/v1/tts/ws_binary params.cluster String 是无 语音合成服务所用集群 params.compressionRate Integer 否 无 在线合成下发的 opus-ogg 音频的压缩倍率 params.ttsOfflineModeFormat String 否 SingleVoice 离线合成方式,可选值: SingleVoice:单音色资源是指一个资源文件仅包含一个离线音色,新版(V4 及以上)离线合成用的就是单音色资源MultipleVoice:音色资源是指一个资源文件中包含了多个离线音色,这种资源一般是旧版(V2)离线合成所用资源params.ttsModelName String 否 无 离线合成模型名称,ttsOfflineModeFormat为MultipleVoice时有效 params.licenseDirectory String 否 无 离线合成鉴权相关:证书文件存放路径 params.authenticateType String 否 无 Authenticate Type:可选值:pre_bind,late_bind params.ttsLicenseName String 否 无 证书名,用于下载按报名授权的证书文件,authenticateType为pre_bind时有效 params.ttsLicenseBusiId String 否 无 业务 ID, 用于下载按报名授权的证书文件,authenticateType为pre_bind时有效 params.authenticateAddress String 否 无 离线合成鉴权相关:Authenticate Address,authenticateType为late_bind时有效 params.authenticateUri String 否 无 离线合成鉴权相关:Authenticate Uri,authenticateType为late_bind时有效 params.businessKey String 否 无 离线合成鉴权相关:Business Key,authenticateType为late_bind时有效 params.authenticateSecret String 否 无 离线合成鉴权相关:Authenticate Secret,authenticateType为late_bind时有效 params.ttsFadeInDuration Integer 否 无 断点续播功能在断点处会发生由在线合成音频切换到离线合成音频,为了提升用户体验,SDK 支持,淡出地停止播放在线音频然后再淡入地开始播放离线音频,下面两个参数可以控制淡出淡入的长度,断点续播专用,切换到离线合成时淡入的音频长度,单位:毫秒 params.ttsFadeoutDuration Integer 否 无 断点续播专用,在线合成停止播放时淡出的音频长度,单位:毫秒 params.appVersion String 否 无 APP版本号 params.useOnlineModel Boolean 否 无 是否使用在线模式 params.needDownloadVoiceType String[] 否 无 离线合成将会使用的音色 params.offlineLanguage String 否 无 需要下载的离线合成语种资源 success Function 否 无 执行成功的函数 fail Function 否 无 执行失败的函数 complete Function 否 无 执行完成的函数,不管成功还是失败都会执行
回调
- 示例
json
{
"status": "onInitSuccess"
}json
{
"typeName": "MESSAGE_TYPE_TTS_PLAYBACK_PROGRESS",
"status": "onSpeechMessage",
"debugDir": "/storage/emulated/0/hsSpeech/debug",
"len": 79,
"typeValue": 1407,
"result": "{\"progress\":0.08102496713399887,\"reqid\":\"e8fd3cab-87cf-4af9-b555-271bd05ad606\"}"
}- 回调说明:
参数名 参数类型 参数描述 message String 消息提示 data Object 数据对象 data.status String 类型 onInitSuccess:初始化成功onSpeechMessage:消息回调data.typeName String 事件类型,具体可参考示例文件 data.typeValue Integer 事件值 data.len Integer 字节数 data.result String 识别结果 data.debugDir String debug目录,合成的音频文件也在该目录下 code Integer 返回类型,0.成功,其他:失败
