Agent Skills
返回列表
💻

Azure AI 实时语音对话引擎

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @zcwl/azure-voicelive 到你的 AI 助手。

技能介绍

要解决什么问题

把语音变成对话,远比调用一个 API 琐碎。你需要一条双向通道持续上传麦克风音频,同时接收模型返回的音频与事件;要在客户端处理 PCM 采样率、G.711 编码、VAD 误触发和中途打断(barge-in),还要把会话状态、转写结果和历史记录对齐。任何一个环节配错,表现就是声音断续,或者用户说话时助手还在念。这个技能把这些细节收拢成一套可直接驱动 Agent 的 Markdown 指令。

核心能力与工作方式

技能围绕 VoiceLiveConnection 展开,把连接拆成几个可独立操作的资源对象:

  • conn.session:下发会话级配置,如指令文本与模型参数
  • conn.response:调用模型生成回复,支持 create() 与 cancel() 中断
  • conn.input_audio_buffer:append() 写入音频、commit() 提交、clear() 清空
  • conn.output_audio_buffer:消费模型返回的音频
  • conn.conversation:维护会话历史项,item.create()、item.delete()、item.truncate()
  • conn.transcription_session:独立于对话流的转写配置

认证支持 DefaultAzureCredential(环境变量、托管身份、CLI 登录)或 API Key 两种路径。音频格式覆盖 pcm16(24kHz 默认)、pcm16-16000hz(语音助手)、pcm16-8000hz 与 g711_ulaw/alaw(电话场景)。语音风格提供 alloy、echo、shimmer、sage、coral、ash、ballad、verse 等预设,也可接入 Azure 自定义或个性化语音。

典型流程:建立连接 → 用 conn.session.update() 下发指令 → 按 Base64 PCM16 分块送入音频 → 在事件循环里处理音频帧与转写文本 → 用户开口时由 VAD 或手动轮次(Manual Turn Mode)触发打断,调用 cancel() 中止当前输出。

适用边界与注意点

  • 依赖 Azure 云端认知服务,必须有可用网络,无法离线运行
  • 麦克风无信号时返回静音事件而非报错;语音无法识别时转写返回未识别文本,调用方要能区分这两种情况
  • API Key 配置错误会直接导致认证失败,常见状态码:401 凭据错误、403 权限不足、404 端点 URL 有误、500 网络或服务端问题
  • 本技能为纯 Markdown 指令文档,实际执行需 Agent 具备命令行运行能力(MCP + execute)
  • 不适用于需要人工判断的复杂决策场景

使用场景

  • 工程师要验证双向语音链路,需用 Python 客户端推送麦克风音频并接收实时音频帧
  • 语音助手开发者要在用户打断时取消当前回复,需配置 VAD 与 cancel 逻辑
  • 运维搭建会议转写服务,需将电话线路的 G.711 ulaw/alaw 音频接入实时转写
  • 后端工程师要保存多轮对话历史,需调用 conversation 资源创建和截断历史项

适合人员

  • 负责实时语音中台的后端工程师,需要在代码里跑通 Azure 双向 WebSocket 对话链路
  • 做语音助手客户端的开发者,想正确处理中途打断与多轮历史记录
  • 实现会议转写和通话质检的运维人员,需要接入电话编码格式并保证实时性
  • 审阅语音技能安全性的技术负责人,关注凭据管理与传输加密是否到位