Appearance
使用 Azure AI Voice Live SDK 构建实时语音 AI 应用
通过集成 Azure AI Voice Live SDK,开发者可以在 JavaScript/TypeScript 环境中快速实现具有低延迟、双向流式传输能力的语音 AI 助手,支持实时语音输入、文本/语音输出及函数调用。
为什么需要这个技能
传统的语音交互通常采用“录音 识别 处理 合成 播放”的线性流程,延迟较高且无法在 AI 说话时进行打断。
Azure AI Voice Live 采用 WebSocket 双向通信,允许音频流实时传输。通过内置的 VAD(语音活动检测)和流式输出,可以实现像人类一样自然、流畅且具备极低响应延迟的对话体验,极大提升了语音交互产品的用户体验。
适用场景
- 智能客服/数字员工:需要实时响应用户需求并进行自然对话的场景。
- 实时语音翻译/辅助:需要低延迟处理音频流并实时反馈的工具。
- 交互式 AI 伴侣:构建能够感知用户情绪并实时语音反馈的应用程序。
- 多模态控制界面:将语音指令与实时函数调用(Function Calling)结合,控制硬件或软件。
核心工作流
- 环境配置与认证:安装
@azure/ai-voicelive,配置资源端点,并建议使用DefaultAzureCredential进行安全认证。 - 建立 Session 会话:通过
VoiceLiveClient启动会话,并指定模型(如gpt-4o-realtime-preview)。 - 配置会话参数:定义模态(Text/Audio)、指令、语音角色及 VAD 阈值(如使用
azure_semantic_vad提升识别精度)。 - 订阅事件流:通过
session.subscribe监听onResponseAudioDelta(语音片段)和onResponseTextDelta(文本片段)等事件。 - 音频流传输:通过
session.sendAudio将麦克风采集的 PCM 格式音频实时发送至服务器。 - 闭环功能集成:配置
tools实现函数调用,在onResponseFunctionCallArgumentsDone事件中处理逻辑并回传结果。
typescript
import { DefaultAzureCredential } from "@azure/identity";
import { VoiceLiveClient } from "@azure/ai-voicelive";
const credential = new DefaultAzureCredential();
const client = new VoiceLiveClient("https://your-resource.cognitiveservices.azure.com", credential);
const session = await client.startSession("gpt-4o-mini-realtime-preview");
await session.updateSession({
modalities: ["text", "audio"],
voice: { type: "azure-standard", name: "en-US-AvaNeural" },
turnDetection: { type: "azure_semantic_vad" },
});
const subscription = session.subscribe({
onResponseAudioDelta: async (event) => {
playAudioChunk(event.delta);
},
onInputAudioTranscriptionCompleted: async (event) => {
console.log("User said:", event.transcript);
},
});下载和安装
下载 azure-ai-voicelive-ts 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐