主题
快速开始
本页跑通一次实时变声:安装 SDK、配置鉴权、连接并播放转换后的音频。
前置条件
- 支持 WebRTC、
MediaDevices与MediaStream的浏览器;采集麦克风时,页面还需满足浏览器的安全上下文和权限要求。 - 应用后端提供的 SDK 令牌接口。
- 可访问的模型 ID(
model_xxx)。
安装
bash
npm install @convbased/sdk
# 或
bun add @convbased/sdk实时变声
ts
import { Convbased, type SdkAuthOptions } from "@convbased/sdk";
const auth: SdkAuthOptions = {
clientId: "example.web",
tokenProvider: async (request) => {
const response = await fetch("/api/convbased/sdk-token", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify(request),
});
if (!response.ok) throw new Error("SDK token request failed");
return (await response.json()).access_token;
},
};
const session = await Convbased.startVoiceChange({
auth,
modelId: "model_xxx",
output: document.querySelector("audio")!, // 接入转换后的流;播放仍受浏览器自动播放策略约束
preferences: { pitch: 0, rms_mix_rate: 0.25 },
onStatus: (status) => console.log(status), // connecting → live → ended
onError: (err) => console.error(err),
});
// 在线调音高:
session.setPitch(2);
// 结束会话、释放麦克风:
await session.stop();startVoiceChange() 在实时服务就绪后 resolve;这不等于音频元素已获准播放。鉴权、网络、模型、服务状态或余额错误会使调用 reject。应用只需实现 tokenProvider,其余鉴权流程由 SDK 处理;参见鉴权。