whisper使用指南
概括
- OpenAI的开源项目,识别音频视频文件转为文本
- GitHub地址:https://github.com/openai/whisper
- 整体流程:
- 环境准备:安装Python >>> 环境准备:安装ffmpeg >>> 安装whisper >>> 运行whisper识别音频
安装
环境准备(Prerequisites)
在安装 Whisper 之前,你需要确保你的电脑满足以下条件。这是最容易出问题的步骤,请务必仔细检查。
安装Python
Whisper 需要 Python 环境。官方推荐 Python 3.8-3.11 版本。
检查是否已安装 Python:BashBash
打开你的终端(在 Windows 上是 命令提示符 或 PowerShell,在 macOS 或 Linux 上是 终端),输入:
python --version或者
python3 --version如果显示了 3.8 到 3.11 之间的版本号,说明已安装。否则,请从 Python 官网 下载并安装。
注意:在 Windows 安装时,请务必勾选 “Add Python to PATH” 选项。
安装 ffmpeg
ffmpeg 是一个功能强大的开源多媒体框架,用于处理音频、视频和其他多媒体文件,Whisper 依赖它来读取和转换音频文件。
检查是否已安装 ffmpeg:
在终端中输入:
ffmpeg -version如果显示了版本信息,则已安装。如果没有,请根据你的操作系统进行安装:
Windows:
- 前往 ffmpeg 官网下载页面。
- 从
gyan.dev或BtbN的链接下载一个release版本的压缩包 (zip)。 - 解压后,会得到一个类似
ffmpeg-6.0-full_build的文件夹。 - 将该文件夹内的
bin目录(例如C:\ffmpeg\bin)的完整路径添加到系统的“环境变量”的Path变量中。
macOS:Bash
使用 Homebrew 安装是最简单的:
brew install ffmpegLinux (Ubuntu/Debian):Bash
sudo apt update && sudo apt install ffmpeg
如果使用直接ffmpeg,将视频转为音频
1 | ffmpeg -i "输入文件.mp4" -vn -q:a 0 "输出文件.mp3" |
NVIDIA GPU 环境 (CUDA)(可选,条件允许可选择)
Whisper 可以在 CPU 上运行,但速度会非常慢,尤其是处理长音频或使用大模型时。如果你有 NVIDIA 显卡,强烈建议配置好 CUDA 环境,可以让识别速度提升数十倍。
- 确保你已安装最新的 NVIDIA 显卡驱动。
- 安装与驱动兼容的 CUDA Toolkit。
- 之后安装 PyTorch 的 GPU 版本,Whisper 会自动利用它。
安装 Whisper
环境准备好后,安装 Whisper 就非常简单了。
打开终端,使用 pip (Python 的包管理器) 来安装。
基础安装
这是最直接的安装方式:
1 | # Python 安装whisper |
-U 参数表示如果已经安装了旧版本,则升级到最新版。
如果需要 GPU 支持
如果你已经配置好了 CUDA,上面的命令通常就足够了。Whisper 会在运行时自动检测并使用 PyTorch 的 GPU 版本。你只需要确保 PyTorch 是正确安装的。可以先访问 PyTorch 官网,获取适合你 CUDA 版本的安装命令,例如:
1 | # 示例命令,请以 PyTorch 官网的为准 |
然后再安装 Whisper。
使用方法
- 运行 Whisper 识别音频
- 安装完成后,你就可以在终端里直接使用
whisper命令了。
whisper模型
可选模型
- 最新模型内容,详见:https://github.com/openai/whisper
| Size | Parameters | English-only model | Multilingual model | Required VRAM | Relative speed |
|---|---|---|---|---|---|
| tiny | 39 M | tiny.en |
tiny |
~1 GB | ~10x |
| base | 74 M | base.en |
base |
~1 GB | ~7x |
| small | 244 M | small.en |
small |
~2 GB | ~4x |
| medium | 769 M | medium.en |
medium |
~5 GB | ~2x |
| large | 1550 M | N/A | large |
~10 GB | 1x |
| turbo | 809 M | N/A | turbo |
~6 GB | ~8x |
- 支持的语言如下
choose from ‘af’, ‘am’, ‘ar’, ‘as’, ‘az’, ‘ba’, ‘be’, ‘bg’, ‘bn’, ‘bo’, ‘br’, ‘bs’, ‘ca’, ‘cs’, ‘cy’, ‘da’, ‘de’, ‘el’, ‘en’, ‘es’, ‘et’, ‘eu’, ‘fa’, ‘fi’, ‘fo’, ‘fr’, ‘gl’, ‘gu’, ‘ha’, ‘haw’, ‘he’, ‘hi’, ‘hr’, ‘ht’, ‘hu’, ‘hy’, ‘id’, ‘is’, ‘it’, ‘ja’, ‘jw’, ‘ka’, ‘kk’, ‘km’, ‘kn’, ‘ko’, ‘la’, ‘lb’, ‘ln’, ‘lo’, ‘lt’, ‘lv’, ‘mg’, ‘mi’, ‘mk’, ‘ml’, ‘mn’, ‘mr’, ‘ms’, ‘mt’, ‘my’, ‘ne’, ‘nl’, ‘nn’, ‘no’, ‘oc’, ‘pa’, ‘pl’, ‘ps’, ‘pt’, ‘ro’, ‘ru’, ‘sa’, ‘sd’, ‘si’, ‘sk’, ‘sl’, ‘sn’, ‘so’, ‘sq’, ‘sr’, ‘su’, ‘sv’, ‘sw’, ‘ta’, ‘te’, ‘tg’, ‘th’, ‘tk’, ‘tl’, ‘tr’, ‘tt’, ‘uk’, ‘ur’, ‘uz’, ‘vi’, ‘yi’, ‘yo’, ‘yue’, ‘zh’, ‘Afrikaans’, ‘Albanian’, ‘Amharic’, ‘Arabic’, ‘Armenian’, ‘Assamese’, ‘Azerbaijani’, ‘Bashkir’, ‘Basque’, ‘Belarusian’, ‘Bengali’, ‘Bosnian’, ‘Breton’, ‘Bulgarian’, ‘Burmese’, ‘Cantonese’, ‘Castilian’, ‘Catalan’, ‘Chinese’, ‘Croatian’, ‘Czech’, ‘Danish’, ‘Dutch’, ‘English’, ‘Estonian’, ‘Faroese’, ‘Finnish’, ‘Flemish’, ‘French’, ‘Galician’, ‘Georgian’, ‘German’, ‘Greek’, ‘Gujarati’, ‘Haitian’, ‘Haitian Creole’, ‘Hausa’, ‘Hawaiian’, ‘Hebrew’, ‘Hindi’, ‘Hungarian’, ‘Icelandic’, ‘Indonesian’, ‘Italian’, ‘Japanese’, ‘Javanese’, ‘Kannada’, ‘Kazakh’, ‘Khmer’, ‘Korean’, ‘Lao’, ‘Latin’, ‘Latvian’, ‘Letzeburgesch’, ‘Lingala’, ‘Lithuanian’, ‘Luxembourgish’, ‘Macedonian’, ‘Malagasy’, ‘Malay’, ‘Malayalam’, ‘Maltese’, ‘Mandarin’, ‘Maori’, ‘Marathi’, ‘Moldavian’, ‘Moldovan’, ‘Mongolian’, ‘Myanmar’, ‘Nepali’, ‘Norwegian’, ‘Nynorsk’, ‘Occitan’, ‘Panjabi’, ‘Pashto’, ‘Persian’, ‘Polish’, ‘Portuguese’, ‘Punjabi’, ‘Pushto’, ‘Romanian’, ‘Russian’, ‘Sanskrit’, ‘Serbian’, ‘Shona’, ‘Sindhi’, ‘Sinhala’, ‘Sinhalese’, ‘Slovak’, ‘Slovenian’, ‘Somali’, ‘Spanish’, ‘Sundanese’, ‘Swahili’, ‘Swedish’, ‘Tagalog’, ‘Tajik’, ‘Tamil’, ‘Tatar’, ‘Telugu’, ‘Thai’, ‘Tibetan’, ‘Turkish’, ‘Turkmen’, ‘Ukrainian’, ‘Urdu’, ‘Uzbek’, ‘Valencian’, ‘Vietnamese’, ‘Welsh’, ‘Yiddish’, ‘Yoruba’
命令预下载模型(可选)
直接运行对应模型的转录命令,Whisper 会自动下载缺失的模型:
1 | # 下载 small 模型 |
下载完成后,模型文件会保存在缓存目录中(如 ~/.cache/whisper/small.pt)
检查模型
缓存/下载的模型位置:/Users/doubleming/.cache/whisper/
1 | #检查是否有模型,以及下载了哪些模型 |
基本用法
命令行的基本格式是:
1 | whisper "你的音频文件路径" --model <模型名称> --language <语言> |
你的音频文件路径: 支持多种格式,如.mp3,.wav,.m4a等。如果路径包含空格,请用双引号括起来。-model <模型名称>: 这是必须指定的参数。Whisper 提供多种大小的模型,效果和速度各不相同(见下文模型选择部分)。-language <语言>: 指定音频的语言。对于中文普通话,请使用Chinese。虽然 Whisper 可以自动检测语言,但明确指定可以提高准确性和速度。
实际例子
假设你有一个名为 meeting_audio.mp3 的音频文件,你想用 medium 模型进行识别。
命令如下:
1 | whisper "path/to/your/meeting_audio.mp3" --model medium --language Chinese |
查看结果
运行命令后,Whisper 会开始处理。
- 首次运行:它会先下载你指定的模型文件(例如
medium.pt),这需要一些时间,但只需要一次。 - 处理过程:你会在终端看到实时的识别进度和结果。
- 输出文件:处理完成后,默认会在你的音频文件所在的相同目录下,生成以下几个文件:
meeting_audio.txt: 纯文本文件。meeting_audio.srt: 带时间戳的字幕文件,适合视频。meeting_audio.vtt: 另一种格式的字幕文件。
如何选择合适的模型 (-model)
模型越大,准确率越高,但需要的计算资源(显存/内存)也越多,速度也越慢。
模型 (model) |
所需显存/内存 | 相对速度 | 准确率 | 适用场景 |
|---|---|---|---|---|
tiny |
~1 GB | 最快 | 一般 | 快速测试,对准确率要求不高的场景。 |
base |
~1 GB | 很快 | 较好 | 推荐的起点,性价比高。 |
small |
~2 GB | 中等 | 好 | 效果与速度的良好平衡。 |
medium |
~5 GB | 较慢 | 很好 | 推荐用于追求高质量结果的场景。 |
large |
~10 GB | 最慢 | 最佳 | 准确率最高,适合专业用途和嘈杂环境。 |
给新手的建议:
- 如果没有 GPU,从
tiny或base开始尝试。 - 如果有不错的 GPU(例如 NVIDIA RTX 3060 或更高),可以直接使用
medium模型,效果非常出色。
进阶:使用 Python 脚本
如果你想在自己的代码中调用 Whisper,可以这样做:
- 创建一个 Python 文件,例如
transcribe.py。 - 输入以下代码:
1 | import whisper |
在终端中运行这个脚本:Bash
python transcribe.py
whisper常用命令
以下是 Whisper 常用的命令参数及其作用的完整列表,适用于语音转文本(包括本地和API调用):
基础命令格式
1 | whisper [音频文件路径] [参数] |
示例:
1 | whisper "audio.mp3" --model medium --language zh --output_dir ./output |
核心参数列表
输入/输出控制
| 参数 | 作用 | 示例 |
|---|---|---|
[音频文件路径] |
指定要转录的音频文件 | whisper "input.mp3" |
--output_dir |
指定输出目录(默认当前目录) | --output_dir ./results |
--output_format |
指定输出格式(默认生成所有格式) | --output_format txt |
--verbose |
显示详细日志(调试用) | --verbose True |
模型选择
| 参数 | 作用 | 示例 |
|---|---|---|
--model |
选择模型大小(默认 small) |
--model large |
--device |
指定运行设备(CPU/GPU) | --device cuda |
语言处理
| 参数 | 作用 | 示例 |
|---|---|---|
--language |
强制指定语言(避免自动检测) | --language zh |
--task |
任务类型(transcribe或translate) |
--task translate |
性能优化
| 参数 | 作用 | 示例 |
|---|---|---|
--fp16 |
启用FP16加速(需GPU支持) | --fp16 True |
--threads |
设置CPU线程数 | --threads 4 |
高级选项
| 参数 | 作用 | 示例 |
|---|---|---|
--temperature |
控制生成多样性(0-1) | --temperature 0.5 |
--best_of |
生成多个结果选最优 | --best_of 5 |
常用组合示例
快速转录中文(平衡速度与精度)
1 | whisper "audio.mp3" --model small --language zh --output_format txt |
高精度转录(大模型+GPU加速)
1 | whisper "audio.mp3" --model large --language en --device cuda --fp16 True |
生成字幕文件(SRT格式)
1 | whisper "audio.mp3" --output_format srt --model medium |
批量处理目录下所有音频
1 | for file in *.mp3; do whisper "$file" --model small; done |
输出文件说明
默认生成以下文件(取决于 --output_format):
| 文件格式 | 内容 | 适用场景 |
|---|---|---|
.txt |
纯文本 | 简单阅读 |
.srt |
字幕(带时间戳) | 视频剪辑 |
.vtt |
Web字幕 | 网页嵌入 |
.json |
结构化数据 | 编程处理 |
注意事项
- 模型下载:首次使用时会自动下载模型(存放于
~/.cache/whisper/)。 - 硬件要求:
•tiny/base模型适合CPU。
•small/medium需至少8GB内存。
•large推荐GPU运行。 - 路径问题:文件名/目录避免空格或中文(或用引号包裹)。
完整帮助文档
查看所有参数:
1 | whisper --help |
总结
- 准备环境:安装 Python 和 ffmpeg。
- 安装Whisper:
pip install -U openai-whisper。 - 运行识别:
whisper "audio.mp3" --model base --language Chinese。
按照这个流程操作,你就可以成功地使用whisper将本地音频文件转换为文本了。



