OpenAI Whisper 音频转录实战指南
Whisper 是 OpenAI 推出的开源自动语音识别(ASR)模型,在多种语言环境下表现优异。无论是播客、会议记录还是个人录音,它都能高效地将其转换为文本。
环境准备
开始之前,确保你的开发环境满足以下要求:
- Python 3.7 或更高版本
- 足够的磁盘空间(模型权重从几十 MB 到几 GB 不等,取决于选择的精度)
- 稳定的网络连接(首次运行需下载模型文件)
安装依赖
通过 pip 安装官方库即可:
pip install openai-whisper
等待安装完成,无需额外配置复杂的环境变量。
脚本使用示例
为了简化批量处理流程,我们可以编写一个封装脚本。下面是一个基础实现,支持常见音频格式并自动保存结果。
核心代码
创建一个 transcribe_audio.py 文件,内容如下:
import whisper
import os
def transcribe_audio(file_path, model_size="medium"):
# 加载模型,首次运行会自动下载
model = whisper.load_model(model_size)
# 执行转录
result = model.transcribe(file_path)
# 创建输出目录
output_dir = "transcripts"
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 保存文本
output_file = os.path.join(output_dir, f"{os.path.basename(file_path)}.txt")
with open(output_file, "w", encoding="utf-8") as f:
f.write(result["text"])
print(f"已保存至:{output_file}")
if __name__ == "__main__":
# 替换为你的音频文件路径
audio_file = "example.mp3"
if os.path.exists(audio_file):
transcribe_audio(audio_file)
else:
print("未找到指定音频文件")
运行说明
- 将上述代码保存为
transcribe_audio.py。 - 确保当前目录下存在待处理的音频文件,或者修改代码中的
audio_file路径。 - 在终端进入脚本所在目录,执行:
python transcribe_audio.py
程序会自动下载对应大小的模型(若本地不存在),并在 transcripts 文件夹中生成对应的 .txt 转录结果。遇到错误时,控制台会直接反馈原因,方便排查。
进阶提示
- 模型选择:
tiny,base,small,medium,large。越大越准确但速度越慢,内存占用越高。 - 多语言支持:默认自动检测语言,也可通过参数强制指定。
- 批量处理:结合
glob模块可轻松遍历文件夹内所有音频文件。
这套方案既保留了灵活性,又避免了重复造轮子,适合大多数日常转写需求。

