本地离线部署 Whisper 模型实现语音转写
在本地搭建 Whisper 语音转写环境其实并不复杂,这套方案兼容 Windows、macOS 和 Linux 系统。下面分享具体的实施步骤,重点在于环境配置与脚本调用。
基础环境准备
首先确保安装了 Python 3.8 及以上版本。下载地址参考 python.org。安装过程中务必勾选 "Add Python to PATH",这一步至关重要,否则后续命令无法识别。
验证安装是否成功很简单,打开终端输入 python --version 或 python3 --version,能看到版本号即表示就绪。
安装 Whisper 核心库
对于国内用户,建议使用镜像源加速安装过程。执行以下命令:
pip install openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple
Whisper 对音频处理有额外依赖。Windows 用户需要单独下载并安装 FFmpeg,并将 ffmpeg.exe 所在目录添加到系统环境变量 PATH 中,否则无法处理部分音频格式。
模型选择与下载
Whisper 首次运行时会自动下载模型,但手动指定大型模型能获得更好的效果。推荐优先使用 large-v3 版本。安装时可指定模型:
pip install "openai-whisper[large-v3]"
模型文件默认保存在缓存目录中:
- Windows:
C:\Users\你的用户名\.cache\whisper\ - macOS/Linux:
~/.cache/whisper/
命令行直接转写
如果只是想快速测试,直接使用命令行最方便。支持 WAV、MP3、MP4 等多种格式。
whisper 你的音频文件路径.wav --model large-v3 --language Chinese
例如:
whisper D:\\Net_Program\\test\\whisper-test.wav --model large-v3 --language Chinese
关键参数说明
--model:指定模型大小,从tiny到large-v3,越大精度越高但越吃资源。--language Chinese:强制指定语言为中文,避免自动检测偏差。--output_dir:指定结果保存路径。--format:输出格式支持 txt、srt、vtt 等。
Python 脚本调用
如果需要集成到项目或批量处理,编写 Python 脚本更灵活。下面这个示例封装了 FFmpeg 检查、路径验证及繁简转换逻辑。
import whisper
import os
import pathlib
import subprocess
zhconv convert
():
:
subprocess.run(
[, ],
check=,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=
)
FileNotFoundError:
()
Exception e:
()
():
check_ffmpeg():
audio_path = (pathlib.Path(audio_path).resolve())
os.path.exists(audio_path):
()
os.path.isfile(audio_path):
()
:
()
model = whisper.load_model(model_name, device=)
()
result = model.transcribe(
audio=audio_path,
language=,
verbose=,
fp16=,
initial_prompt=
)
simplified_text = convert(result[], )
output_dir =
os.makedirs(output_dir, exist_ok=)
audio_name = os.path.splitext(os.path.basename(audio_path))[]
output_path = os.path.join(output_dir, )
(output_path, , encoding=) f:
f.write(simplified_text)
()
simplified_text
Exception e:
()
__name__ == :
:
zhconv
ImportError:
()
subprocess.run([, , ], check=)
zhconv
audio_file =
transcribe_audio(audio_file)

