Skip to content

使用 Azure AI Voice Live SDK 构建实时语音 AI 应用

通过集成 Azure AI Voice Live SDK,开发者可以在 JavaScript/TypeScript 环境中快速实现具有低延迟、双向流式传输能力的语音 AI 助手,支持实时语音输入、文本/语音输出及函数调用。

为什么需要这个技能

传统的语音交互通常采用“录音 识别 处理 合成 播放”的线性流程,延迟较高且无法在 AI 说话时进行打断。

Azure AI Voice Live 采用 WebSocket 双向通信,允许音频流实时传输。通过内置的 VAD(语音活动检测)和流式输出,可以实现像人类一样自然、流畅且具备极低响应延迟的对话体验,极大提升了语音交互产品的用户体验。

适用场景

  • 智能客服/数字员工:需要实时响应用户需求并进行自然对话的场景。
  • 实时语音翻译/辅助:需要低延迟处理音频流并实时反馈的工具。
  • 交互式 AI 伴侣:构建能够感知用户情绪并实时语音反馈的应用程序。
  • 多模态控制界面:将语音指令与实时函数调用(Function Calling)结合,控制硬件或软件。

核心工作流

  1. 环境配置与认证:安装 @azure/ai-voicelive,配置资源端点,并建议使用 DefaultAzureCredential 进行安全认证。
  2. 建立 Session 会话:通过 VoiceLiveClient 启动会话,并指定模型(如 gpt-4o-realtime-preview)。
  3. 配置会话参数:定义模态(Text/Audio)、指令、语音角色及 VAD 阈值(如使用 azure_semantic_vad 提升识别精度)。
  4. 订阅事件流:通过 session.subscribe 监听 onResponseAudioDelta(语音片段)和 onResponseTextDelta(文本片段)等事件。
  5. 音频流传输:通过 session.sendAudio 将麦克风采集的 PCM 格式音频实时发送至服务器。
  6. 闭环功能集成:配置 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

你可能还需要

暂无推荐