Azure AI VoiceLive Java 开发技能
帮助 Java 开发者构建基于 WebSocket 的实时双向 AI 语音对话。
提供 API Key 与 DefaultAzureCredential 两种认证方式,并建议使用托管身份;但未说明音频、转录、函数调用数据流、隐私保留、最小权限、用户确认或服务端外部副作用,也未提供敏感数据处理和恢复边界,因此扣分。
主流程、音频参数和错误处理示例较完整,但多个事件类名、方法签名和示例之间存在潜在不一致;异步订阅缺少背压、生命周期和重连的可诊断处理,且未见针对该技能关键路径的测试,因此按静态证据限制扣分。
触发词、Java SDK 目标和实时语音场景较明确,覆盖 API Key、托管身份、音频、VAD、事件及函数调用;但未声明不适用场景、服务可用性、区域限制、中文语音支持或中国大陆网络可达性,边界证据不足。
SKILL.md 具备安装、环境变量、认证、核心流程、语音配置、函数调用、错误处理和参考链接,含 MIT、作者及版本元数据;但版本为 beta,未给出兼容矩阵、变更记录、维护责任细节、故障排查和完整限制说明,引用示例文件还明显截断。
内容覆盖从客户端创建到音频收发和事件处理,理论上可帮助生成基础 VoiceLive Java 代码;但示例未在文件中提供可验证的构建或运行结果,存在 API/类型准确性和资源关闭方面的不确定性,用户仍需较多校验与修订。
提供 SDK 源码和 samples 参考链接、固定依赖版本及仓库 CI/测试材料,具备有限追溯线索;但本次仅静态阅读,未见该技能专属测试、构建证据或第三方交叉验证,且关键引用未在材料中实际展开,因此扣分。
- 不要将示例直接视为可运行代码;先用目标 beta.2 SDK 编译核对事件类型、方法签名和依赖版本。
- 音频、转录、个人语音和函数调用可能涉及敏感数据或外部副作用;应在应用层补充告知、授权、最小权限、日志脱敏和函数执行确认。
- 补充会话关闭、网络中断、重连、超时、限流、背压及麦克风/扬声器资源清理策略。
- 确认 Azure VoiceLive 在目标区域、账户和中国大陆网络环境中的可用性,并验证中文语音能力。
它能做什么 & 适用场景
该技能面向使用 Azure AI VoiceLive Java SDK 的开发者,涵盖实时双向语音会话、WebSocket 流式连接和反应式事件处理。它提供 Maven 依赖、API 密钥与 DefaultAzureCredential 身份验证示例,以及会话配置、音频输入、事件处理和语音选择代码。技能还说明了 24kHz、16 位、单声道 PCM 音频要求,并覆盖语音活动检测、转录、降噪、回声消除和函数调用。适合需要在 Java 应用中接入 AI 语音助手的项目,但源材料没有说明完整的测试覆盖或生产部署流程。
指导开发者添加 azure-ai-voicelive Maven 依赖,读取 VoiceLive 端点和身份验证环境变量,创建 VoiceLiveAsyncClient,启动 WebSocket 会话,配置语音、模态、音频格式、采样率、转录和服务器端语音活动检测。它示范发送 PCM16 音频块、订阅会话事件、播放响应音频增量、处理会话完成与错误事件,并配置 OpenAI、Azure Standard、Azure Custom 和 Azure Personal Voice。
- Java 团队需要构建能够实时收听和回应用户的 Azure AI 语音助手。
- 需要通过 WebSocket 将 PCM16 麦克风音频流式发送到 VoiceLive 的应用开发者。
- 需要使用服务器端语音活动检测来控制自然轮次和用户打断的对话系统。
- 需要在语音会话中启用 Whisper 输入转录、降噪或回声消除的 Java 项目。
- 需要让语音助手调用天气等自定义函数的开发者。
优缺点一览
- 提供可复制的 Java 客户端、会话配置和事件处理示例。
- 覆盖 API 密钥和 DefaultAzureCredential 两种身份验证方式。
- 包含语音活动检测、打断、转录、降噪、回声消除和函数调用示例。
- 明确列出实时音频格式要求和响应音频事件处理方式。
- SDK 依赖版本标记为 1.0.0-beta.2,属于测试版版本。
- 源材料没有提供该技能专属的测试场景或验收结果。
- 示例依赖外部 Azure VoiceLive 端点和实时 WebSocket 网络连接。
- 没有说明麦克风采集、音频播放实现或完整生产部署步骤。
如何安装
在技能集合安装向导中安装 Microsoft Agent Skills 仓库:
npx skills add microsoft/skills
然后选择 azure-ai-voicelive-java。源仓库说明技能会安装到所选 Agent 的目录,例如 GitHub Copilot 的 .github/skills/;具体目标目录由安装向导决定。
如何使用
向编码 Agent 提出包含以下触发语句的请求:"VoiceLiveClient java"、"voice assistant java"、"real-time voice java"、"audio streaming java" 或 "voice activity detection java"。实现时添加 com.azure:azure-ai-voicelive:1.0.0-beta.2,设置 AZURE_VOICELIVE_ENDPOINT,并选择 AzureKeyCredential 或 DefaultAzureCredential。使用 VoiceLiveAsyncClient 启动会话,配置 VoiceLiveSessionOptions,发送 24kHz、16 位、单声道、小端有符号 PCM 音频,并订阅事件流。