技能简介
azure-ai-voicelive-py 是 Azure AI Voice Live SDK 的 Python 封装,支持通过 WebSocket 建立与 Azure AI 的双向实时音频通信。
业务背景
Azure实时语音AI开发方案让企业快速构建自然流畅的双向语音交互应用。无需复杂底层开发,即可实现语音助手、智能客服、实时翻译等场景,支持服务器端语音检测与对话管理,显著降低语音AI应用的技术门槛和上线周期。
落地案例:某企业客服中心采用该方案搭建智能语音机器人:用户拨打热线后,系统通过WebSocket实时接收客户语音流,自动识别意图并调用后端业务系统查询订单状态,再以自然语音回复客户。全程支持打断、多轮对话,客服人员可专注处理复杂投诉,简单咨询由AI自动完成。
能做什么
- 实时双向语音对话(语音输入+语音输出)
- 服务器端语音活动检测(Server VAD)
- 轮次制对话管理与函数调用
- MCP 工具集成与虚拟形象联动
- 实时语音转写与翻译
使用说明
1. 安装依赖
pip install azure-ai-voicelive aiohttp azure-identity
2. 配置环境变量
export AZURE_COGNITIVE_SERVICES_ENDPOINT=https://<region>.api.cognitive.microsoft.com
3. 基础连接代码
from azure.ai.voicelive.aio import connect
from azure.identity.aio import DefaultAzureCredential
async with connect(
endpoint=os.environ["AZURE_COGNITIVE_SERVICES_ENDPOINT"],
credential=DefaultAzureCredential(),
model="gpt-4o-realtime-preview",
credential_scopes=["https://cognitiveservices.azure.com/.default"]
) as conn:
await conn.session.update(session={
"instructions": "You are a helpful assistant.",
"modalities": ["text", "audio"],
"voice": "alloy"
})
async for event in conn:
if event.type == "response.audio_transcript.done":
print(f"Transcript: {event.transcript}")
4. 音频流传输
发送音频:使用 conn.input_audio_buffer.append(audio=b64_audio) 推送 Base64 编码的 PCM16 音频数据;接收音频:监听 response.audio.delta 事件获取模型返回的音频流。
输入与输出
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | Azure 认知服务端点、PCM16 格式音频流、会话配置(指令/音色/VAD参数)、身份认证凭据 |
| 输出 | 实时语音响应流、语音转写文本、对话状态事件、函数调用执行结果 |
| 适用人群 | Python 后端开发者、语音交互应用开发者、构建实时 AI 对话产品的技术团队 |
| 不包含 | 前端界面组件、预训练语音模型文件、离线识别能力、其他云平台兼容层 |
风险提示
- API Key 认证方式不建议用于生产环境,优先使用 DefaultAzureCredential
- 实时音频流对网络延迟敏感,需确保稳定的 WebSocket 连接
- 语音数据传输涉及隐私合规,需遵循当地数据保护法规
- Server VAD 参数需根据实际场景调优,避免误触发或响应延迟
来源信息
原始链接:https://github.com/openclaw/skills/tree/main/skills/thegovind/azure-ai-voicelive-py/SKILL.md
来源类型:GitHub 开源技能库
常见问题
Q1:Azure实时语音AI开发 适合哪些场景?
A:适合需要「azure-ai-voicelive-py 是 Azure AI Voi」的场景,尤其是希望快速验证并落地的团队与个人。
Q2:第一次使用应该先做什么?
A:先明确目标任务,再按照页面中的“能做什么”和“使用说明”完成最小可行流程。
Q3:如何判断是否值得长期使用?
A:建议连续使用 1-2 周,对比效率、稳定性和协作成本,再决定是否纳入长期工具栈。
