主题
JavaScript SDK API 参考
@convbased/sdk 0.3 支持实时变声、文件变声和文本转语音。
函数
ts
startVoiceChange(options: StartVoiceChangeOptions): Promise<VoiceSession>
convertFile(options: ConvertFileOptions): Promise<ConvertedFile>
textToSpeech(options: TextToSpeechOptions): Promise<TtsResult>可以通过 Convbased 调用,也可以直接导入函数:
ts
import { Convbased } from "@convbased/sdk";
import { startVoiceChange, convertFile, textToSpeech } from "@convbased/sdk";| 函数 | 必填参数 | 何时返回 |
|---|---|---|
startVoiceChange | auth、modelId | 实时服务就绪后,返回会话对象 |
convertFile | auth、modelId、file | 文件变声任务完成后,返回下载地址 |
textToSpeech | auth、text | 合成任务完成后,返回结果;是否需要参考音频取决于模式 |
VoiceSession
startVoiceChange() 返回:
| 成员 | 作用 |
|---|---|
stream | 转换后的 MediaStream;尚未收到转换后的音频时为 null |
setPitch(semitones) | 以半音为单位调整音高 |
update(preferences) | 在会话进行中更新传入的变声参数 |
setMuted(muted) | 设置麦克风是否静音 |
mute() / unmute() | setMuted(true) / setMuted(false) 的简写 |
stop() | 结束会话并停止 SDK 使用的输入音轨 |
鉴权类型
三个函数的 auth 参数都接收 SdkAuthentication。使用 SdkAuthOptions 配置令牌:
ts
type SdkAuthOptions = {
clientId: string;
} & (
| { tokenProvider: SdkTokenProvider; sessionToken?: never }
| { sessionToken: string; tokenProvider?: never }
);tokenProvider 与 sessionToken 不能同时传入。正式上线的网页应用应使用 tokenProvider;详见鉴权。
结果类型
ConvertedFile:url是转换后音频的临时下载地址,key是音频文件的存储标识,可能不返回。TtsResult:包含key、url、实际使用的模式、计费数量与单位、音频时长、扣费金额与余额,以及可选的字幕数据。