跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

本地离线部署 Whisper 模型实现语音转写实战

本地离线部署 Whisper 模型实现语音转写实战。通过安装 Python 依赖与 FFmpeg 工具,支持命令行直接转写或 Python 脚本调用。重点涵盖 large-v3 模型选择、中文语言强制指定、繁简转换处理及常见内存不足问题的解决方案,实现无需联网的语音转写功能。

灰度发布发布于 2026/3/22更新于 2026/7/2145 浏览

环境准备

先在本地装个 Python 3.8+。Windows 用户记得勾选 "Add Python to PATH",不然后面命令跑不起来。装完打开终端输 python --version 看看版本号。

安装 Whisper 核心库

直接用 pip 装 openai-whisper。国内网络慢的话可以加清华镜像源。

pip install openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:Whisper 处理音频强依赖 FFmpeg。Windows 用户得去官网下载并配置到环境变量里,否则转写时容易报找不到 ffmpeg 的错误。

模型下载与管理

默认情况下,第一次运行会自动下载模型文件到缓存目录。如果想提前准备好,特别是用大模型 large-v3,建议手动指定。

pip install "openai-whisper[large-v3]"

模型通常缓存在 ~/.cache/whisper/ 下,Windows 路径类似 C:\Users\用户名\.cache\whisper\。

命令行快速转写

最简单的用法就是直接在终端跑命令。

whisper D:\Net_Program\test\whisper-test.wav --model large-v3 --language Chinese

参数说明一下:--model 选模型大小,越大越准但吃资源;--language 强制指定中文能避免自动检测翻车;--format 决定输出 txt 还是 srt。

Python 脚本集成

如果要在项目里调用,封装成函数更灵活。下面这个脚本做了些额外处理,比如检查 FFmpeg 是否就绪,以及把结果里的繁体字转成简体。

import whisper
import os
import pathlib
import subprocess
from zhconv import convert

def check_ffmpeg():
    """检查 FFmpeg 是否安装并配置正确"""
    try:
        subprocess.run(
            ["ffmpeg", "-version"],
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )
        return True
    except FileNotFoundError:
        print("错误:未找到 FFmpeg 工具,请先安装并配置环境变量")
         
     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)
return
False
except
as
print
f"FFmpeg 检查失败:{str(e)}"
return
False
def
transcribe_audio
audio_path, model_name="large-v3", language="Chinese"
# 检查 FFmpeg
if
not
return
None
# 验证音频文件路径
str
if
not
print
f"错误:音频文件不存在 '{audio_path}'"
return
None
if
not
print
f"错误:'{audio_path}' 不是有效的文件"
return
None
# 加载模型并转写
try
print
f"开始加载模型 {model_name}..."
"cpu"
print
f"开始转写文件:{audio_path}"
# 关键设置:明确指定中文,并关闭自动语言检测
"Chinese"
# 强制指定中文
True
False
"请用简体中文转写,不要使用繁体中文。"
# 提示模型使用简体
# 强制将结果转换为简体中文(双重保险)
"text"
'zh-cn'
# 保存结果
"whisper_results"
True
0
f"{audio_name}_transcript.txt"
with
open
"w"
"utf-8"
as
print
f"\n✅ 转写完成(已转换为简体中文),结果保存至:{output_path}"
return
except
as
print
f"转写过程出错:{str(e)}"
return
None
if
"__main__"
# 安装繁转简依赖(首次运行需要)
try
import
except
print
"正在安装繁转简依赖..."
"pip"
"install"
"zhconv"
True
import
# 替换为你的音频文件路径
r"D:\\Net_Program\\test\\whisper-test.wav"

脚本里加了 zhconv 库,主要是为了兜底,防止模型输出繁体字。运行前确保安装了它。

常见问题排查

  1. 内存不足:遇到 OutOfMemoryError 就换小模型,比如 small 或 base。large-v3 建议至少 16GB 内存。
  2. 音频格式错误:有些格式 Whisper 不认,可以用 FFmpeg 转成 16kHz 单声道 WAV:ffmpeg -i 输入.mp3 -ar 16000 -ac 1 输出.wav。
  3. 模型下载慢:可从官方仓库获取模型文件,丢进 .cache/whisper/ 目录里。

这样就在本地搭好了稳定的 Whisper 转写环境,完全离线也能跑。追求精度上 large-v3,看重速度就选 small。

目录

  1. 环境准备
  2. 安装 Whisper 核心库
  3. 模型下载与管理
  4. 命令行快速转写
  5. Python 脚本集成
  6. 常见问题排查
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 爬取京东商品评论实战(含多页与去重)
  • Spring IoC 与 DI 核心概念及实战用法
  • 网络安全自学指南:从基础原理到渗透测试实战路径
  • 斯坦福 2025 AI Index Report 深度解读:技术扩散与产业变革
  • Windows 下使用 VS Code 搭建 Go 开发环境及工具链原理
  • Figma Make 实测:AI 辅助前端代码生成的可行性分析
  • llama.cpp 量化技术详解:降低大模型内存占用
  • 用 Prompt 生成正则表达式进行文本匹配实战
  • OpenCode 搭配 GitHub Copilot:Claude Code 的替代方案
  • Vitis 平台 AI 模型 FPGA 部署实战指南
  • Effective Modern C++ 条款 36:必要时指定 std::launch::async 策略
  • 基于 ECharts 与 Flask 的交互式数据可视化应用开发
  • Spring AI 集成 Anthropic Skills:Agent 工具调用实践
  • C++ AVL 树原理与实现详解
  • Playwright 与 Puppeteer 模拟人工操作攻克纯前端渲染页面
  • MySQL 核心解析:索引、设计、事务与视图
  • HDFS 核心组件深度解析:分布式文件系统架构
  • 枚举 ToString() 性能优化:字典映射方案
  • Git 代码上传至 GitHub 完整指南
  • Java 二分查找算法实战:从基础到进阶

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online