适合人群:经常需要整理会议录音、课程音频、视频字幕,或者习惯用语音给 AI 下指令,但不希望把音频上传到云端的同学。
一、背景
X 上有中文用户发帖调侃:“听说现代人都用口喷指挥 AI 干活了?”这反映了一个越来越普遍的习惯:说话比打字快,越来越多的人先用语音记录想法,再交给 AI 整理。
语音转文字是这个流程的第一步。OpenAI 开源的Whisper是目前广泛使用的语音识别模型之一,支持包括中文在内的多种语言,可以在自己的电脑上离线运行。本文介绍如何安装 Whisper,把录音转成文本和字幕,并给出后续交给 AI 整理的思路。
二、准备工作
1. Python 环境
需要 Python 3.8 或更新版本(建议使用较新的版本)。
2. 安装 ffmpeg
Whisper 依赖 ffmpeg 读取音频文件:
# Ubuntu / Debiansudoaptupdate&&sudoaptinstallffmpeg# macOS(使用 Homebrew)brewinstallffmpeg# Windows(使用 Chocolatey 或 Scoop)chocoinstallffmpeg3. 硬件
有 NVIDIA 显卡时速度会快很多;只有 CPU 也能运行,但建议使用较小的模型。
三、操作步骤
步骤 1:安装 Whisper
pipinstall-Uopenai-whisper安装完成后,命令行中就可以使用whisper命令。
步骤 2:了解模型大小
Whisper 提供多个尺寸的模型,官方说明中包括 tiny、base、small、medium、large 以及 turbo 等。规律是:
- 模型越大,识别越准确,但速度越慢、占用显存越多;
- tiny、base 适合快速测试;
- small、medium 在准确率和速度之间较为平衡;
- turbo 是对大模型的优化版本,速度更快。
首次使用某个模型时,程序会自动下载模型文件,需要一些时间和硬盘空间。
步骤 3:转写第一段音频
whisper meeting.mp3--modelsmall--languageChinese--model:指定模型;--language:指定语言。不指定时会自动检测,但明确指定通常更稳定。
运行完成后,当前目录下会生成多个同名文件,包括 txt(纯文本)、srt 和 vtt(字幕)、tsv、json 等格式。
步骤 4:只输出需要的格式
whisper meeting.mp3--modelsmall--languageChinese--output_formatsrt--output_dir./subs--output_format可以选择 txt、srt、vtt、tsv、json 或 all。做视频字幕选 srt,整理文字稿选 txt。
步骤 5:在 Python 中调用
批量处理时,用 Python 更方便:
importwhisper model=whisper.load_model("small")result=model.transcribe("meeting.mp3",language="zh")print(result["text"])forseginresult["segments"]:print(f'{seg["start"]:.1f}s -{seg["end"]:.1f}s:{seg["text"]}')segments包含每一句的开始和结束时间,可以用来生成自定义格式的时间轴。
步骤 6:交给 AI 整理
原始转写稿通常没有标点或段落,口语重复也较多。可以把文本交给 AI 整理,提示词示例:
下面是一段会议录音的转写稿,可能存在同音字错误。请: 1. 修正明显的错别字,不确定的地方用【?】标出; 2. 按议题分段,加上小标题; 3. 最后列出会议中提到的待办事项和负责人。 不要添加原文没有的内容。如果内容涉及隐私,可以使用本地运行的大模型完成这一步,让整个流程都不离开电脑。
四、提升识别效果的方法
- 录音质量优先:靠近麦克风、减少背景噪音,比换大模型更有效;
- 提供提示文本:Python 调用时可以通过
initial_prompt参数提供包含专有名词的提示文本,有助于识别人名、术语; - 选择合适的模型:专业内容、口音较重时,尝试更大的模型;
- 长音频分段处理:特别长的录音可以先用 ffmpeg 切分,便于检查和重试;
- 人工校对关键内容:数字、人名、专业术语一定要人工核对。
五、常见问题 FAQ
Q1:报错找不到 ffmpeg?
确认 ffmpeg 已安装并加入系统 PATH,在终端运行ffmpeg -version能看到版本信息即可。
Q2:中文输出成了繁体字?
这是 Whisper 中文识别中较常见的现象。可以在initial_prompt中提供一段简体中文文本作为引导,或者识别后使用繁简转换工具处理。
Q3:转写速度太慢?
换更小的模型,或使用显卡运行。社区还有基于 Whisper 的优化实现(例如 faster-whisper),在速度和显存占用上做了改进,可以按需了解。
Q4:会出现原文中没有的句子吗?
在静音或噪声较多的片段,Whisper 偶尔会生成重复或无关的文字。重要场合务必人工校对。
Q5:可以识别多人对话并区分说话人吗?
Whisper 本身不区分说话人。需要区分时,可以了解“说话人分离”(speaker diarization)相关的开源工具,与 Whisper 配合使用。
六、实用技巧
- 建立术语表:把常用人名、产品名写成提示文本,每次转写时复用;
- 字幕先校对再使用:生成 srt 后用字幕编辑软件检查时间轴和错字;
- 批处理脚本:用 Python 遍历文件夹批量转写,并按日期整理输出;
- 保留原始音频:转写稿有疑问时可以回听核对;
- 注意录音合规:录制他人讲话前,先征得对方同意。
七、总结
用 Whisper 本地转写的流程很简单:安装 ffmpeg → pip 安装 Whisper → 选择模型 → 命令行或 Python 转写 → 交给 AI 整理。它让“先说出来,再让 AI 整理”这种工作方式变得可行,而且音频始终留在自己的电脑上。
参考资料
- OpenAI Whisper 开源项目说明文档(https://github.com/openai/whisper)
- 论文:Robust Speech Recognition via Large-Scale Weak Supervision
- X 用户 @HytidelLegend 关于用语音指挥 AI 的分享