音频转写助手
将音频或视频中的语音转成文本,并可标注说话人。
证据显示技能要求使用环境变量而非在聊天中粘贴 API 密钥,并将音频、已知说话人参考和结果路径写明;但会把音频及说话人参考上传至 OpenAI,缺少逐次用户确认、最小化/保留策略、隐私提示、依赖锁定和回滚机制,因此扣分。
脚本对参数、文件存在性、输出冲突和部分模型约束有可诊断错误;但没有提交测试或执行证据,超过 25MB 仅警告而非阻止,API 异常处理、批量失败行为和音频兼容边界不完整,因此不超过静态上限并扣分。
触发场景、输入文件、文本/JSON/说话人输出和已知说话人参数较明确,也支持语言提示;但非适用范围、视频实际支持边界、中文质量与中国大陆网络可达性未说明,核心功能依赖 OpenAI 在线服务,因此扣分。
文档结构清晰,包含工作流、决策规则、依赖、环境变量、示例和参考文档;但单项许可证元数据未知,版本、变更记录、维护责任和更新路径不明确,仓库 README 还标明仓库已弃用,因此扣分。
脚本能够形成可直接保存的转录文本或 JSON,且提供 diarization 与说话人参考;但静态材料没有代表性输出或执行验证,质量校验仍依赖用户,默认提示中的“clean summary”并非脚本输出能力,因此仅给有限核心任务分数。
源代码、参数校验和 payload 构造可审计,参考文档与脚本部分相互印证;但没有测试套件、CI 覆盖、第三方执行记录或多来源佐证,结论只能有限静态复核,因此扣分。
- 使用该技能会将录音和可选的说话人参考发送到 OpenAI;在处理敏感或个人数据前应明确取得用户授权并确认适用的数据政策。
- 超过 25MB 的文件当前只触发警告,仍可能进入 API 流程;应在运行前自行拆分或增加硬性拒绝。
- 核心 API 服务的中国大陆网络可达性、可用模型和当前接口兼容性未在材料中验证。
- 仓库已标记为弃用,许可证、维护责任和后续更新路径需要单独确认。
它能做什么 & 适用场景
该技能使用 OpenAI 转写能力,将音频文件转换为文本,也支持按说话人进行分段标注。它提供一个 Python CLI,可输出纯文本、JSON 或带说话人信息的 JSON。用户可以提供语言提示和已知说话人参考音频。实时调用需要本地设置 OPENAI_API_KEY。
收集音频路径、输出格式、可选语言提示和说话人参考;检查 OPENAI_API_KEY;运行 bundled transcribe_diarize.py CLI;默认使用 gpt-4o-mini-transcribe 生成快速纯文本转写;需要说话人标签时使用 gpt-4o-transcribe-diarize 输出 diarized_json;对较长音频使用 auto 分块;将结果保存到指定文件或 output/transcribe/ 下,并检查转写质量、说话人标签和分段边界。
- 记者将采访录音转为纯文本,并保存为 transcript.txt。
- 会议组织者需要区分不同发言人,并为最多四名已知说话人提供参考音频。
- 研究人员处理超过约 30 秒的录音,并使用自动分块策略。
- 团队批量处理多个音频文件,并用 --out-dir 避免输出互相覆盖。
优缺点一览
- 支持纯文本、JSON 和 diarized_json 输出。
- 支持可选语言提示、说话人标签和已知说话人参考音频。
- 提供可重复运行的 CLI,并为多文件输出提供独立目录。
- 实时调用依赖 OPENAI_API_KEY 和网络连接。
- 说话人识别示例最多支持四名已知说话人。
- gpt-4o-transcribe-diarize 不支持 prompting。
- 源材料未提供测试套件、平台测试结果或单独的技能许可证信息。
如何安装
该技能属于 openai/skills 的 curated 技能。使用 Codex 中的 $skill-installer 安装:$skill-installer transcribe。安装后重启 Codex 以加载技能。仓库 README 同时说明该仓库已弃用,当前示例应参考 OpenAI Plugins repository。
如何使用
先在本地设置 OPENAI_API_KEY,不要在聊天中粘贴密钥。设置路径变量:export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}";export TRANSCRIBE_CLI="$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py"。快速转写:python3 "$TRANSCRIBE_CLI" path/to/audio.wav --out transcript.txt。说话人转写:python3 "$TRANSCRIBE_CLI" meeting.m4a --model gpt-4o-transcribe-diarize --known-speaker "Alice=refs/alice.wav" --known-speaker "Bob=refs/bob.wav" --response-format diarized_json --out-dir output/transcribe/meeting。