Azure Realtime 播客生成
用 Azure OpenAI Realtime API 将文本转换为可播放的播客式音频。
证据显示使用环境变量承载 Azure API 密钥,并通过 WebSocket 调用外部 Azure 服务;但未说明最小权限、用户确认、敏感内容出站披露、访问控制、配额、防滥用、删除或回滚机制。未见明确红线风险,因此保留基础分,但因数据流和恢复控制不完整扣分。
证据提供了端到端示例、错误事件处理和 PCM 转 WAV 脚本;但未提供针对该技能的测试或可复现实例,且 voice_name 未实际传入会话配置,style/source_type 缺少严格校验,空数据、配置错误和数据库失败处理不足。按静态校准不超过10分,并因关键路径不完整扣分。
证据明确面向 React、FastAPI 和 Azure OpenAI Realtime API 的播客/音频叙事场景,输入输出和主要事件有说明;但未定义不适用范围、触发边界、浏览器兼容性、部署前提或中文语音/中文内容效果,也依赖 Azure 服务可达性,故仅给中等分。
证据包含快速开始、环境变量、架构、代码示例、事件和音频格式说明,且仓库提供 MIT 许可证、官方组织来源和通用 CI 信号;但技能没有依赖安装说明、版本锁定、变更记录、维护责任、故障排查、已知限制或 FAQ,部分引用文件也未展示完整生产约束,因此扣分。
证据提供了从文本到 PCM、WAV、Base64、后端响应和前端播放的可直接参考模式,能够覆盖核心概念;但示例仍需较多工程补全,包括依赖和路由集成、鉴权、输入校验、错误恢复、持久化策略、voice_name 实现和生产安全控制,因此静态评估下接近但不超过7分。
证据是可审计的固定源文件,包含实现代码、脚本和仓库级工作流;但提供的测试主要覆盖通用 Copilot harness,并未覆盖 podcast-generation 的关键路径,也没有第三方运行结果或独立交叉验证。静态校准下给有限可验证性。
- 示例会把内容发送到 Azure OpenAI,但未定义敏感数据筛查、用户同意、日志脱敏或数据保留策略。
- voice_name 参数在示例接口中暴露,却未用于 Realtime 会话配置;style、source_type 和空内容缺少明确校验。
- Azure endpoint、模型名、SDK API 和事件名称未在该技能内固定版本或提供官方兼容性验证;中国大陆网络可达性和区域可用性未说明。
- 示例将完整 Base64 WAV 存入数据库,可能造成存储膨胀,且未提供取消、超时后的清理或失败回滚策略。
它能做什么 & 适用场景
该技能指导开发者使用 Azure OpenAI GPT Realtime Mini,通过 WebSocket 从文本生成播客风格的音频叙事。它覆盖从 React 前端到 Python FastAPI 后端的完整实现流程。后端接收 PCM 音频块和转录文本,将 PCM 转为 WAV,再以 Base64 返回前端播放。适合需要真实音频输出的文本转语音和内容播客场景。
读取文本提示,连接 Azure OpenAI Realtime WebSocket 端点,发送音频生成请求,收集 response.output_audio.delta 音频事件和 response.output_audio_transcript.delta 转录事件,在 response.done 时结束;将 24kHz、16 位、单声道 PCM 音频转换为 WAV,并以 Base64 编码返回;前端将 Base64 WAV 转为 Blob 和对象 URL后播放。
- 需要把文章或其他文本内容制作成播客式音频的内容开发者。
- 正在 React 前端和 Python FastAPI 后端中加入文本转语音功能的全栈开发者。
- 需要通过 Azure OpenAI Realtime API 实现 WebSocket 流式音频生成的工程团队。
- 需要同时保留生成音频及其实时转录文本的应用。
优缺点一览
- 提供从后端生成到前端播放的完整 React + FastAPI 示例流程。
- 明确列出环境变量、WebSocket 地址转换、Realtime API 事件和音频格式。
- 包含六种声音选项及 PCM 转 WAV 的参考脚本。
- README 的测试覆盖摘要显示该技能有 8 个测试场景。
- 依赖 Azure OpenAI Realtime API、GPT Realtime Mini 和可用的网络连接。
- 未提供定价、配额、身份认证替代方案或部署配置说明。
- 示例依赖 Python、FastAPI、React 和 OpenAI Python SDK,但未给出完整项目依赖安装清单。
- 技能说明聚焦音频生成流程,未证明对其他 Agent 平台的专用集成能力。
如何安装
在项目中运行 npx skills add microsoft/skills,在安装向导中选择 podcast-generation。技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/。README 未提供该单个技能的独立安装命令。
如何使用
配置 AZURE_OPENAI_AUDIO_API_KEY、AZURE_OPENAI_AUDIO_ENDPOINT 和 AZURE_OPENAI_AUDIO_DEPLOYMENT=gpt-realtime-mini。Endpoint 只填写基础地址,不要包含 /openai/v1/。可用触发提示:为我的文本转语音功能设计一个 React + FastAPI 的 Azure OpenAI Realtime 音频生成实现。 按技能流程连接 WebSocket、收集音频和转录、转换为 WAV,并在前端播放。