Skip to content

An mandarine ASR app that provides integration with long audio procesing, llm pruning, and proof reading with FireRedASR as the core ASR model

License

Notifications You must be signed in to change notification settings

RealmX1/FireRedASR-App

 
 

Repository files navigation

FireRedASR-App

🔥 FireRedASR 桌面应用套件

工业级中英文语音识别与智能校对工具

📖 项目简介

FireRedASR-App 是基于 FireRedASR 语音识别系统开发的桌面应用套件,专为普通用户设计,提供完整的语音转文字和文本校对解决方案。

本项目包含两个独立的桌面应用:

  1. ASR Refine Tools - 语音识别与优化工具 - 整合了FireRedASR以及长语音分段,以及外接LLM校对
  2. ProofReader - 校对审核助手

暂且仅支持linux系统

🎯 核心特性

  • 零门槛使用:图形化界面,无需命令行操作 (Coming Soon)
  • 端到端流程:从音频到精确文本的完整工作流
  • 智能优化:集成 GPT-5 系列大语言模型进行文本优化
  • 高效校对:可视化编辑界面,快捷键操作

开发系统要求

  • 操作系统:Ubuntu 20.04+
  • 硬件要求
    • CPU:8核心以上推荐
    • 内存:16GB 以上
    • 详见FireRedASR Readme.md
    • 存储:至少 20GB 可用空间

🚀 快速开始

开发环境

环境准备

1. 安装基础依赖

Ubuntu/Debian:

sudo apt update && sudo apt install -y \
    build-essential curl wget git \
    libwebkit2gtk-4.1-dev \
    libssl-dev libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev \
    ffmpeg \
    python3-pip python3-venv

2. 安装开发工具

# 安装 Node.js 18+(如果未安装)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# 安装 Rust(如果未安装)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

# 验证安装
node --version  # 应显示 v18.x.x 或更高
npm --version   # 应显示 9.x.x 或更高
rustc --version # 应显示 1.70.0 或更高
ffmpeg -version # 应显示版本信息

3. 配置 FireRedASR

# 克隆项目
git clone https://github.com/yourusername/FireRedASR.git
cd FireRedASR

# 创建 Python 虚拟环境
conda create --name fireredasr python=3.10
conda activate fireredasr

# 安装 Python 依赖
pip install -r requirements.txt

# 设置环境变量
export PATH=$PWD/fireredasr/:$PWD/fireredasr/utils/:$PATH
export PYTHONPATH=$PWD/:$PYTHONPATH

4. 下载预训练模型

Hugging Face 下载模型文件:

# 创建模型目录
mkdir -p pretrained_models

# 下载 AED 模型(推荐,平衡性能)
git lfs clone https://huggingface.co/fireredteam/FireRedASR-AED-L pretrained_models/FireRedASR-AED-L

# 或下载 LLM 模型(最高精度,需要更多资源)
git lfs clone https://huggingface.co/fireredteam/FireRedASR-LLM-L pretrained_models/FireRedASR-LLM-L
git lfs clone https://huggingface.co/Qwen/Qwen2-7B-Instruct pretrained_models/Qwen2-7B-Instruct

# 如果使用 LLM 模型,创建符号链接
cd pretrained_models/FireRedASR-LLM-L
ln -s ../Qwen2-7B-Instruct .
cd ../..

🛠️ 构建应用

构建 ASR Refine Tools

# 进入应用目录
cd asr-refine-tools

# 安装依赖
npm install

# 开发模式运行(用于测试)
npm run tauri dev

# 构建生产版本
npm run tauri build

# 构建产物位置
# Linux: src-tauri/target/release/bundle/deb/
# Windows: src-tauri/target/release/bundle/nsis/
# macOS: src-tauri/target/release/bundle/dmg/

构建 ProofReader

# 进入应用目录
cd ../proof-reader

# 安装依赖
npm install

# 开发模式运行
npm run tauri dev

# 构建生产版本(使用构建脚本)
./build.sh all  # 构建所有平台
./build.sh linux  # 仅构建 Linux
./build.sh windows  # 仅构建 Windows

# 或使用 npm 命令
npm run tauri:build:linux  # Linux DEB 包
npm run tauri:build:windows  # Windows EXE

# 构建产物位置(注意:在 proof-reader 目录下,不是 src-tauri)
# Linux: target/x86_64-unknown-linux-gnu/release/bundle/deb/
# Windows: target/x86_64-pc-windows-gnu/release/bundle/nsis/ 或 target/x86_64-pc-windows-gnu/release/proof-reader.exe
# macOS: target/release/bundle/dmg/

📱 应用详解

ASR Refine Tools - 语音识别与优化工具

ASR Refine Tools 界面

功能概述

ASR Refine Tools 提供完整的三阶段语音处理流程:

  1. 阶段一:音频处理与识别

    • 批量音频格式转换(自动转为 16kHz 单声道 WAV)
    • FireRedASR 语音识别处理
    • 实时进度显示和日志输出
    • 支持多种音频格式(MP3、M4A、AAC、FLAC 等)
  2. 阶段二:LLM 智能优化

    • 使用 GPT-5 系列模型优化识别结果(仅支持 GPT-5、GPT-5-mini、GPT-5-nano)
    • 自定义提示词模板编辑器
    • 批量处理支持
    • XML 格式编辑追踪,完全透明
  3. 阶段三:人工校对

    • 可视化编辑界面
    • 快捷键快速决策
    • 支持接受原文、接受建议或自定义修改
    • 多格式导出(Markdown、纯文本、HTML)

使用流程

步骤 1:准备音频文件

# 将音频文件放入指定目录
cp your_audio_files/* asr-refine-tools/src-tauri/src/data/raw_audio/

# 或在应用内使用"导入音频"功能

步骤 2:运行音频处理

  1. 启动应用,进入"阶段一"
  2. 选择处理模式:
    • 仅格式化:只转换音频格式
    • 仅 ASR:对已格式化音频进行识别
    • 完整处理:格式化 + ASR
  3. 点击"处理所有音频"
  4. 等待处理完成

步骤 3:LLM 优化(可选)

  1. 进入"阶段二"
  2. 配置 API:
    API Key: sk-xxxxx(你的 OpenAI API Key)
    模型:GPT-5 / GPT-5-mini / GPT-5-nano
    
  3. 编辑提示词模板(可选)
  4. 选择处理模式:
    • 处理未处理文件
    • 处理所有文件
  5. 点击"处理 X 个文件"

步骤 4:人工校对

  1. 进入"阶段三"
  2. 打开优化后的文件
  3. 使用快捷键进行校对:
    • A:接受原始文本
    • S:接受 AI 建议
    • D:输入自定义修改
    • ←/→:切换编辑项
    • Ctrl+S:保存进度
  4. 导出最终文档

ProofReader - 智能校对助手

ProofReader 界面

功能特点

  • 分屏设计:左侧文档预览,右侧编辑面板
  • 颜色编码
    • 🟡 黄色:未决定的编辑
    • 🔴 红色:选择原始文本
    • 🔵 蓝色:选择 AI 建议
    • 🟣 紫色:自定义修改
  • 持久化存储:所有决策自动保存
  • 断点续审:支持随时暂停和恢复
  • 灵活导出:支持多种格式和样式

快捷键操作

快捷键 功能
Ctrl+O 接受原始文本
Ctrl+P 接受 AI 建议
Ctrl+Enter 应用自定义修改
←/→ 导航编辑项
C 聚焦自定义输入框
Space 接受建议并前进
Ctrl+Plus 放大文档
Ctrl+Minus 缩小文档
Ctrl+0 重置缩放
Ctrl+S 保存进度

📁 目录结构

FireRedASR/
├── fireredasr/                 # FireRedASR 核心代码
├── pretrained_models/          # 预训练模型文件
├── asr-refine-tools/          # ASR 优化工具
│   ├── src/                   # React 前端代码
│   ├── src-tauri/             # Rust 后端代码
│   │   └── src/data/          # 数据目录
│   │       ├── raw_audio/     # 原始音频文件
│   │       ├── formatted_audio/ # 格式化后的音频
│   │       ├── asr_output/    # ASR 识别结果
│   │       └── AI_pruned_asr_output/ # LLM 优化结果
│   └── package.json
└── proof-reader/              # 校对工具
    ├── src/                   # React 前端代码
    ├── src-tauri/             # Rust 后端代码
    └── package.json

🔧 配置说明

LLM API 配置

注意:目前仅支持 OpenAI GPT-5 系列模型

OpenAI GPT-5 配置:

{
  api_key: "sk-xxxxx",
  model: "gpt-5",  // 或 "gpt-5-mini", "gpt-5-nano"
  reasoning_effort: "high"  // 推理强度
}

支持的模型:

  • gpt-5:最强能力,最高精度
  • gpt-5-mini:平衡性能和成本
  • gpt-5-nano:快速响应,成本最低

环境变量

# 自动加载 OpenAI API Key
export OPENAI_API_KEY="your-api-key-here"

# 使用 conda 环境
conda activate fireredasr

❓ 常见问题

1. 应用无法启动

检查项:

  • 确认所有系统依赖已安装
  • Node.js 版本是否为 18+
  • Rust 是否正确安装:rustc --version
  • 重新运行 npm install

2. FFmpeg 错误

解决方案:

# Linux
sudo apt install ffmpeg

# macOS
brew install ffmpeg

# Windows
# 从官网下载并添加到 PATH

3. ASR 处理失败

可能原因:

  • FireRedASR 未正确安装
  • Python 环境缺少依赖(特别是 kaldiio
  • 模型文件不存在或路径错误
  • GPU 内存不足

解决步骤:

# 激活 conda 环境
conda activate fireredasr

# 重新安装依赖
pip install -r requirements.txt

# 验证模型文件
ls -la pretrained_models/

4. LLM 优化失败

检查:

  • API Key 是否正确
  • 网络连接是否正常
  • API 额度是否充足
  • 对于本地模型,确认服务器已启动

5. 校对工具找不到文件

确认文件位置:

# Linux/macOS
~/.local/share/com.realmer.asr-refine-tools/AI_pruned_asr_output/

# Windows
%APPDATA%\com.realmer.asr-refine-tools\AI_pruned_asr_output\

🎯 最佳实践

  1. 音频准备

    • (可选)使用高质量录音(采样率 ≥16kHz)
    • (可选)避免背景噪音
  2. 模型选择

    • FireRedASR-AED:适合大多数场景,资源占用少
    • FireRedASR-LLM:追求最高精度,需要更多 GPU 内存
  3. LLM 优化

    • 根据内容类型调整提示词
    • 对专业术语较多的内容,提供领域相关提示
    • 批量处理时保持文件长度相近
  4. 校对技巧

    • 使用键盘快捷键提高效率
    • 定期保存进度(Ctrl+S)
    • 对不确定的修改,可以先跳过

📚 技术栈

  • 前端:React + TypeScript + Vite
  • 后端:Rust + Tauri 2.0
  • 语音识别:FireRedASR(PyTorch)
  • UI 框架:Tauri(跨平台桌面应用)
  • 状态管理:Zustand
  • Markdown 编辑:SimpleMDE / React-Markdown

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

提交前请确保:

  • 添加必要的注释
  • 更新相关文档

📄 许可证

本项目基于 FireRedASR 项目,遵循相同的许可条款。详见主项目仓库。

🔗 相关链接

💬 获取帮助


由 FireRed Team 开发 | 专注于中文语音识别技术

About

An mandarine ASR app that provides integration with long audio procesing, llm pruning, and proof reading with FireRedASR as the core ASR model

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 32.9%
  • TypeScript 28.1%
  • Rust 23.7%
  • CSS 13.4%
  • Shell 1.7%
  • HTML 0.2%