Skip to content

Flash Transcribe 是一个完全独立、免费开源的音频转文字工具。市面上许多语音转文字服务都需要付费订阅,而本项目旨在提供一个完全免费、功能强大的替代方案。

License

Notifications You must be signed in to change notification settings

dennisyang1986/flash-transcribe

Repository files navigation

🎙️ Flash Transcribe

快速、免费、开源的音频转文字工具

Python License Platform Whisper

功能特色快速开始使用方法配置说明故障排除


📖 项目简介

Flash Transcribe 是一个完全独立、免费开源的音频转文字工具。市面上许多语音转文字服务都需要付费订阅,而本项目旨在提供一个完全免费、功能强大的替代方案。

✨ 核心组件

组件 功能 特点
🎬 FFmpeg 音频格式转换 支持所有主流格式
🤖 Whisper AI 语音识别 OpenAI 开源模型
🧠 AI 增强 智能标点优化 可选,提升文本质量

📁 项目结构

speech_to_text/
├── 📄 main.py                      # 🎯 交互式转录工具(推荐使用)
├── 📄 auto_transcribe.py           # 核心转录程序(命令行模式)
├── ⚙️ .env.example                 # 配置文件模板
├── 📋 requirements.txt             # Python 依赖包
├── 📂 audio_files/                 # 📥 放置待转录的音频文件
├── 📂 output/                      # 📤 转录结果输出目录
├── 📂 temp/                        # 🗂️ 临时文件目录
├── 📂 ffmpeg/                      # FFmpeg 程序目录
│   └── ffmpeg.exe                  # ⚠️ 需手动下载(185MB,超过 GitHub 限制)
└── 📂 whisper/                     # Whisper AI 程序(已包含)
    ├── whisper-cli.exe             # Whisper 命令行程序
    ├── *.dll                       # 依赖库文件
    └── models/                     # 📦 模型文件存放目录(需手动下载 *.bin)

⚠️ 重要提示
由于 GitHub 文件大小限制(100MB),ffmpeg.exe(185MB)未包含在仓库中。 Whisper 程序文件已包含,但模型文件需要单独下载。 请按照下方 快速开始 的步骤下载所需文件。


🚀 快速开始

1️⃣ 安装 Python 依赖

pip install -r requirements.txt

2️⃣ 下载 FFmpeg

⚠️ 重要: 由于文件体积超过 GitHub 限制(185MB > 100MB),需要手动下载 FFmpeg。

用途: 音频格式转换(必需)

下载地址:

安装步骤:

  1. 下载 Windows 版本(如 ffmpeg-release-essentials.zip
  2. 解压后,找到 bin/ffmpeg.exe
  3. ffmpeg.exe 复制到项目的 ffmpeg/ 目录
  4. 确保文件路径为: flash-transcribe/ffmpeg/ffmpeg.exe

3️⃣ 下载 Whisper 模型文件

由于模型文件较大(75 MiB ~ 2.9 GiB),未随仓库分发。请根据需求下载模型并放入 whisper/models/ 目录。

📥 下载地址: Hugging Face - Whisper Models

🎯 推荐模型选择

使用场景 推荐模型 大小 特点
🚀 快速测试 tiny / base 75-142 MiB 速度快,准确度一般
⚖️ 平衡选择 small / medium 466 MiB - 1.5 GiB 速度与质量平衡
🎖️ 最高质量 large-v3 / large-v3-turbo 1.5-2.9 GiB 准确度最高,速度较慢
💾 量化版本 *-q5_0 减少 50-70% 体积小,质量略降
📋 完整模型列表(点击展开)
Model Disk SHA
tiny 75 MiB bd577a113a864445d4c299885e0cb97d4ba92b5f
tiny.en 75 MiB c78c86eb1a8faa21b369bcd33207cc90d64ae9df
base 142 MiB 465707469ff3a37a2b9b8d8f89f2f99de7299dac
base.en 142 MiB 137c40403d78fd54d454da0f9bd998f78703390c
small 466 MiB 55356645c2b361a969dfd0ef2c5a50d530afd8d5
small.en 466 MiB db8a495a91d927739e50b3fc1cc4c6b8f6c2d022
small.en-tdrz 465 MiB b6c6e7e89af1a35c08e6de56b66ca6a02a2fdfa1
medium 1.5 GiB fd9727b6e1217c2f614f9b698455c4ffd82463b4
medium.en 1.5 GiB 8c30f0e44ce9560643ebd10bbe50cd20eafd3723
large-v1 2.9 GiB b1caaf735c4cc1429223d5a74f0f4d0b9b59a299
large-v2 2.9 GiB 0f4c8e34f21cf1a914c59d8b3ce882345ad349d6
large-v2-q5_0 1.1 GiB 00e39f2196344e901b3a2bd5814807a769bd1630
large-v3 2.9 GiB ad82bf6a9043ceed055076d0fd39f5f186ff8062
large-v3-q5_0 1.1 GiB e6e2ed78495d403bef4b7cff42ef4aaadcfea8de
large-v3-turbo 1.5 GiB 4af2b29d7ec73d781377bfd1758ca957a807e941
large-v3-turbo-q5_0 547 MiB e050f7970618a659205450ad97eb95a18d69c9ee

4️⃣ 配置 .env 文件

💡 重要: 复制 .env.example 文件并重命名为 .env,然后根据需要修改配置。

📝 完整配置模板(参考 .env.example)
# ============================================================
# 🤖 Whisper 模型配置
# ============================================================

# 模型文件名(仅需文件名,自动从 whisper/models 目录查找)
WHISPER_MODEL=ggml-large-v3.bin

# ============================================================
# 🌐 语言设置(可选)
# ============================================================

# 推荐:中文语音识别时设置为 zh,可获得更准确的结果
# 选项:zh(中文)、en(英文)、auto(自动检测,默认)
# WHISPER_LANGUAGE=zh

# ============================================================
# 🧠 AI 增强服务配置(可选)
# ============================================================
# 如不配置,程序将使用基础转录模式(仅 Whisper)

# DeepSeek 配置示例(推荐 - 性价比高,中文优化)
API_KEY=sk-your-deepseek-key
API_BASE_URL=https://api.deepseek.com
MODEL_NAME=deepseek-chat

# OpenAI 配置示例
# API_KEY=sk-your-openai-key
# API_BASE_URL=https://api.openai.com/v1
# MODEL_NAME=gpt-3.5-turbo

# 本地 Ollama 配置示例(完全离线)
# API_KEY=dummy-key
# API_BASE_URL=http://localhost:11434/v1
# MODEL_NAME=qwen2:7b

📌 配置说明

配置项 说明 示例
WHISPER_MODEL 模型文件名,支持简写 large-v3ggml-large-v3.bin
WHISPER_LANGUAGE 🔥 中文识别建议设为 zh zh / en / auto
API_KEY AI 服务密钥(可选) sk-xxx...

💡 提示: 命令行参数 --model--lang 优先级高于 .env 配置


5️⃣ 准备音频文件

将待转录的音频文件放入 audio_files/ 文件夹。

🎵 支持格式: MP3, WAV, MP4, M4A, FLAC, OGG, AAC, WMA 等


6️⃣ 启动程序

python main.py

🎯 交互式工具功能

  • 🎵 自动扫描 audio_files 目录中的音频文件
  • ⚙️ 智能选择 CPU/CUDA 模式:自动检测 GPU 可用性并推荐使用模式
    • CPU 模式:兼容性最好,适合无 GPU 或小文件
    • CUDA 模式:显著提升处理速度,适合有 NVIDIA GPU 的用户
  • 🛠️ 灵活选择转录类型(基础/AI增强)
  • 📊 实时显示转录进度与结果预览

7️⃣ 查看结果

转录完成后,结果将保存在 output/ 目录,程序提供多种查看选项。


💡 使用方法

🎯 方式一:交互式转录 ⭐ 推荐

最友好的用户体验,适合新手:

python main.py

🔄 自动化流程

  1. ✅ 扫描 audio_files/ 并显示所有音频文件
  2. ✅ 自动检测 CUDA GPU 并推荐最佳模式
  3. ✅ 提供转录类型选择(基础/AI增强)
  4. ✅ 实时显示转录进度
  5. ✅ 完成后预览结果并提供文件管理

🔧 方式二:命令行转录 ⚡ 高级

提供精细控制,适合批处理和自动化。

📦 基础转录(仅 Whisper,无 AI 增强)
# 使用 .env 配置(自动读取模型和语言)
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --skip-ai-enhance

# 指定 CPU 模式
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --device cpu --skip-ai-enhance

# 指定 CUDA 模式(需要 NVIDIA GPU)
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --device cuda --skip-ai-enhance

# 显式指定语言(中文)
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --lang zh --skip-ai-enhance

# 显式指定模型文件
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --model ggml-large-v3.bin --skip-ai-enhance
🧠 AI 增强转录(Whisper + AI 智能优化)
# 使用 .env 中的 API 配置
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt

# 命令行指定 API 配置(覆盖 .env)
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --api-key sk-xxx --base-url https://api.deepseek.com --model-name deepseek-chat

# 组合:CUDA 模式 + 中文语言 + AI 增强
python auto_transcribe.py -i audio_files\input.mp3 -o output\result.txt --device cuda --lang zh

⚙️ CPU vs CUDA 模式

特性 CPU 模式 CUDA 模式
硬件要求 任意 x86_64 CPU NVIDIA GPU + CUDA
处理速度 🐢 较慢 🚀 快 5-10 倍
内存使用 CPU RAM GPU VRAM
适用场景 小文件、无 GPU 大文件、批量处理
兼容性 ✅ 通用 ⚠️ 需 NVIDIA

💡 选择建议

  • 有 NVIDIA GPU → 使用 CUDA 模式,速度提升明显
  • 无 GPU / AMD GPU → 使用 CPU 模式
  • 不确定 → 运行 python main.py,程序自动检测并推荐

📝 命令行参数: --device cpu--device cuda(默认 cuda


� 使用演示

🎥 点击查看交互式工具演示
python main.py
  
============================================================
           快速音频转文字工具 (Flash Transcribe)
============================================================

🎵 发现以下音频文件:
--------------------------------------------------
 1. 我的录音.mp3                    (5.2 MB)
 2. 会议记录.wav                    (12.8 MB)
 3. 语音备忘.m4a                    (3.1 MB)
--------------------------------------------------

请选择要转录的文件 (1-3) 或输入 'q' 退出: 1
✅ 已选择: 我的录音.mp3

🛠️ 请选择转录模式:
--------------------------------------------------
1. 基础转录 (仅使用 Whisper)
   • 速度较快
   • 基本转录功能
   • 无标点符号

2. AI增强转录 (Whisper + AI 智能优化)
   • 智能添加标点符号
   • 修正识别错误
   • 提升文本质量
   • 支持多种AI服务(需配置API)
--------------------------------------------------

请选择模式 (1 或 2) 或输入 'q' 退出: 2
✅ 检测到 AI API 配置:
   API Key: sk-92398***612d
   服务地址: https://api.deepseek.com
   模型: deepseek-chat
✅ 已选择: AI增强转录模式

🚀 开始转录...
--------------------------------------------------
输入文件: audio_files\我的录音.mp3
输出文件: output\我的录音_ai_enhanced_transcribed.txt
转录模式: AI增强模式
--------------------------------------------------

正在执行转录,请耐心等待...
1. 转换音频格式...
2. Whisper转录...
3. AI增强处理...

✅ 转录 + AI增强完成,结果保存至: output\我的录音_ai_enhanced_transcribed.txt
📊 原始长度: 256 字符
📊 处理后长度: 312 字符

📄 文件内容预览:
------------------------------
今天我要分享一个关于人工智能的想法。随着技术的不断发展,AI在我们生活中扮演着越来越重要的角色...
------------------------------

✨ 项目特色

🎯 简洁易用

特性 说明
🖥️ 交互式界面 零门槛上手,最友好的用户体验
⌨️ 命令行支持 灵活控制,适合自动化与批处理

🛠️ 双重转录模式

模式 特点
📝 基础模式 纯 Whisper 转录,速度快,完全离线
🧠 AI 增强模式 Whisper + AI 优化,智能标点,质量更高

🌐 通用 AI 支持

  • 多服务兼容: 支持任何 OpenAI 标准接口
  • 主流服务: DeepSeek、OpenAI ChatGPT、Claude 等
  • 本地部署: Ollama 等本地 AI(完全离线)
  • 灵活配置: 环境变量简单管理

📁 完全独立

  • ✅ 集成 FFmpeg 和 Whisper
  • ✅ 无需额外安装依赖工具
  • ✅ 开箱即用

� 多格式支持

支持格式: MP3 WAV MP4 M4A FLAC OGG AAC WMA


📋 系统要求

项目 要求
💻 操作系统 Windows 10/11
🐍 Python 3.8 或更高版本
💾 内存 ≥ 4GB RAM(模型加载)
🎮 GPU(可选) NVIDIA GPU + CUDA 驱动

💡 提示: 无 GPU 时自动使用 CPU 模式,交互式工具会自动检测硬件


🔧 故障排除

❌ 找不到模型文件

解决方案

  1. .env 中设置 WHISPER_MODEL=ggml-large-v3.bin
  2. 确保文件位于 whisper/models/ 目录
  3. 或使用 --model 参数指定完整路径
❌ 找不到 ffmpeg

解决方案

  • 确认 ffmpeg/ffmpeg.exe 文件存在
  • 或从 FFmpeg 官网 下载
❌ AI 增强模式不工作

解决方案

  1. 检查 .env 中 API 配置是否完整
  2. 验证 API_KEYAPI_BASE_URLMODEL_NAME
  3. 测试 API 连接(如无配置,程序自动切换基础模式)
📉 转录质量不理想

解决方案

  1. 中文语音 → 在 .env 设置 WHISPER_LANGUAGE=zh 🔥
  2. 使用 AI 增强模式添加智能标点
  3. 确保音频质量良好,减少背景噪音
  4. 英文语音 → 设置 WHISPER_LANGUAGE=en
  5. 使用更大的模型(如 large-v3
🐢 程序运行慢

解决方案

  1. 首选 CUDA 模式:有 NVIDIA GPU 时速度提升 5-10 倍 🚀
  2. 正常现象:Whisper 需要时间处理
  3. CPU 模式下可使用较小模型(base/small

🔬 技术说明

技术 说明
🔌 离线运行 基础转录无需网络连接
🌐 AI 增强 需网络(或使用本地 Ollama)
📦 集成组件 FFmpeg、Whisper 全包含
🚀 GPU 加速 支持 NVIDIA CUDA(可选)
🇨🇳 语言优化 中文识别建议设置 WHISPER_LANGUAGE=zh
🎯 多模型 兼容所有 whisper.cpp ggml 格式

📜 开源协议

本项目采用 MIT License 开源协议。


🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

如果你有任何建议或发现 Bug,请:

  1. 🐛 提交 Issue
  2. 🔧 Fork 项目并创建 Pull Request
  3. ⭐ 给项目点个 Star

💖 致谢


⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!⭐

Made with ❤️ by Flash Transcribe

⬆ 返回顶部

About

Flash Transcribe 是一个完全独立、免费开源的音频转文字工具。市面上许多语音转文字服务都需要付费订阅,而本项目旨在提供一个完全免费、功能强大的替代方案。

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages