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

本地离线部署 Whisper 模型进行语音转写

介绍在 Windows、macOS 和 Linux 系统上本地离线部署 OpenAI Whisper 语音转写模型的完整步骤。内容包括安装 Python 环境、配置 FFmpeg 依赖、下载 Whisper 模型(支持 large-v3 等版本),以及通过命令行和 Python 脚本两种方式调用模型进行音频转写。文中提供了关键参数说明、繁简转换处理及常见问题解决方案,如内存不足或格式错误时的处理方法,无需依赖外部服务即可实现稳定的本地语音识别。

蜜桃汽水发布于 2026/4/6更新于 2026/8/2464 浏览

一、基础环境准备

  1. 安装 Python 确保安装 Python 3.8+:
    • 下载地址:python.org/downloads
    • 安装时勾选 "Add Python to PATH"(关键步骤)
  2. 验证 Python 安装 打开命令行(CMD/PowerShell/ 终端),输入:
    python --version
    
    显示版本号即表示安装成功。

二、安装 Whisper

# 国内镜像加速(可选)
pip install openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 安装核心库 命令行输入以下命令(国内用户可加镜像加速):
    pip install openai-whisper
    
  2. 安装音频处理依赖 Whisper 需要额外工具处理音频格式:Windows:下载并安装 FFmpeg,将 ffmpeg.exe 所在目录添加到系统环境变量 PATH。

三、下载 Whisper 模型(可选)

Whisper 会自动下载所需模型,也可提前手动下载(推荐大型模型 large-v3 以获得最佳效果):

# 安装时指定模型(自动下载)
pip install "openai-whisper[large-v3]"

模型会保存在以下路径(可手动替换或管理):

  • Windows:C:\Users\你的用户名\.cache\whisper\
  • macOS/Linux:~/.cache/whisper/

四、基本使用方法

1. 命令行直接转写

# 转写音频文件(支持 WAV/MP3/MP4 等格式)
whisper 你的音频文件路径.wav --model large-v3 --language Chinese

# 示例(替换为你的文件路径)
whisper D:\\Net\\Program\\test\\whisper-test.wav --model large-v3 --language Chinese

2. 关键参数说明

  • --model:指定模型(tiny/base/small/medium/large-v3,越大精度越高,需求资源越多)
  • --language Chinese:指定语言为中文(避免自动检测错误)
  • --output_dir 输出目录:指定结果保存路径
  • --format txt:输出格式(支持 txt/srt/vtt 等)

五、Python 脚本调用(进阶)

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 工具,请先安装并配置环境变量")
        return False
    except Exception as e:
        print(f"FFmpeg 检查失败:{str(e)}")
        return False

def transcribe_audio(audio_path, model_name="large-v3", language="Chinese"):
    # 检查 FFmpeg
    if not check_ffmpeg():
        return None

    # 验证音频文件路径
    audio_path = str(pathlib.Path(audio_path).resolve())
    
    if not os.path.exists(audio_path):
        print(f"错误:音频文件不存在 '{audio_path}'")
        return None
    
    if not os.path.isfile(audio_path):
        print(f"错误:'{audio_path}' 不是有效的文件")
        return None

    # 加载模型并转写
    try:
        print(f"开始加载模型 {model_name}...")
        model = whisper.load_model(model_name, device="cpu")
        
        print(f"开始转写文件:{audio_path}")
        # 关键设置:明确指定中文,并关闭自动语言检测
        result = model.transcribe(
            audio=audio_path,
            language="Chinese",  # 强制指定中文
            verbose=True,
            fp16=False,
            initial_prompt="请用简体中文转写,不要使用繁体中文。"  # 提示模型使用简体
        )
        
        # 强制将结果转换为简体中文(双重保险)
        simplified_text = convert(result["text"], 'zh-cn')
        
        # 保存结果
        output_dir = "whisper_results"
        os.makedirs(output_dir, exist_ok=True)
        audio_name = os.path.splitext(os.path.basename(audio_path))[0]
        output_path = os.path.join(output_dir, f"{audio_name}_transcript.txt")
        
        with open(output_path, "w", encoding="utf-8") as f:
            f.write(simplified_text)
        
        print(f"\n✅ 转写完成(已转换为简体中文),结果保存至:{output_path}")
        return simplified_text
        
    except Exception as e:
        print(f"转写过程出错:{str(e)}")
        return None

if __name__ == "__main__":
    # 安装繁转简依赖(首次运行需要)
    try:
        import zhconv
    except ImportError:
        print("正在安装繁转简依赖...")
        subprocess.run(["pip", "install", "zhconv"], check=True)
        import zhconv

    # 替换为你的音频文件路径
    audio_file = r"D:\\Net\\Program\\test\\whisper-test.wav"
    transcribe_audio(audio_file)

六、常见问题解决

  1. 内存不足
    • 若提示 OutOfMemoryError,换用更小的模型(如 medium 或 small)
    • 关闭其他占用内存的程序(large-v3 建议至少 16GB 内存)
  2. 音频格式错误
    • 用 FFmpeg 转换格式:ffmpeg -i 输入文件.mp3 -ar 16000 -ac 1 输出文件.wav(转为 16kHz 单声道 WAV)
  3. 模型下载慢
    • 手动下载模型文件(可在 Hugging Face 找到),放入 .cache/whisper/ 目录

通过以上步骤,你可以在本地搭建一个稳定的 Whisper 转写环境,无需依赖 Ollama,直接调用模型进行语音转写。如果追求更高精度,优先使用 large-v3 模型;若注重速度或资源有限,可选择 small 或 base 模型。

目录

  1. 一、基础环境准备
  2. 二、安装 Whisper
  3. 国内镜像加速(可选)
  4. 三、下载 Whisper 模型(可选)
  5. 安装时指定模型(自动下载)
  6. 四、基本使用方法
  7. 1. 命令行直接转写
  8. 转写音频文件(支持 WAV/MP3/MP4 等格式)
  9. 示例(替换为你的文件路径)
  10. 2. 关键参数说明
  11. 五、Python 脚本调用(进阶)
  12. 六、常见问题解决
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 华为 OD 机试真题:采购订单逻辑处理
  • Git 安装与基础配置指南
  • Dify 工作流 Web 交互界面开发:登录表单与状态管理
  • OpenClaw + Ollama 在 macOS 上部署本地大模型实践
  • MC.JS WEBMC1.8 快速创建方块世界入门教程
  • iOS TabBar 背景透明设置方法
  • Trae 集成 GitHub MCP Server 配置与自定义智能体
  • FPGA 比特流 (Bitstream) 深度解析
  • C++ 二叉搜索树原理与增删查实现
  • Prompt 提示词编写指南:如何发挥大语言模型最大潜力
  • AR 演讲提词器开发实战:基于 Rokid CXR-M SDK
  • Chatbox AI:多模态桌面 AI 客户端功能详解
  • Whisper-Large-V3-Turbo:极速多语言语音识别技术解析
  • Mac 电脑安装 ADB 环境完整指南
  • Flutter web3dart 连接以太坊区块链构建 DApp 实战
  • 基于 Ubuntu 20.04 的 QGroundControl 地面站安装指南
  • 2025 年 AI 绘画 Prompt 工程指南:结构、模板与进阶技巧
  • LeetCode 116. 填充每个节点的下一个右侧节点指针
  • 前端下载 Content-Type 为 application/octet-stream 文件的方法
  • ResNext 网络核心技术解析及 UCI-HAR 数据集实验分析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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