lxp135/reco-tran

一个录音并转写文字的小工具

0

stars

49

commits

Python

primary language

Aug 20, 2025

updated

README

录音转写工具 🎤📝

一个功能强大的Windows桌面录音转写软件,集成了多种先进的语音识别引擎,支持实时录音、音频文件转写和智能音频源管理。

✨ 核心功能

🎙️ 智能录音系统

  • 多设备支持: 自动检测并管理麦克风和设备音频输入
  • 实时监控: 可视化音频输入状态和音量指示
  • 动态控制: 录音过程中可实时切换音频源
  • 高质量录制: 16kHz采样率,专为语音识别优化
  • 自动保存: 录音文件自动命名为 recording_YYYYMMDD_HHMMSS.wav

🤖 多引擎语音识别

  • Google Speech Recognition (在线)

    • 高准确率中文识别
    • 需要网络连接
    • 快速响应
  • OpenAI Whisper (离线)

    • 支持多种模型:turbo、small、base、tiny
    • GPU/CPU自适应加速
    • 无需网络连接
    • 专为中文优化
  • BELLE-2/Belle-whisper-large-v3-turbo-zh (离线)

    • 专为中文语音识别优化的先进模型
    • 基于Whisper架构的中文增强版本
    • 支持GPU加速,显著提升处理速度
    • 更高的中文识别准确率

📊 实时转写功能

  • 边录边转: 录音过程中实时显示转写结果
  • 智能缓冲: 5秒音频缓冲,平衡准确率和实时性
  • 动态更新: 转写结果实时更新到界面
  • 状态监控: 实时显示转写状态和进度

🎵 多格式音频支持

  • 原生支持: WAV, FLAC
  • 转换支持: MP3, M4A, AAC(需要ffmpeg)
  • 智能处理: 自动音频格式转换和优化
  • 批量处理: 支持单个文件和批量文件处理

💻 现代化界面

  • 三栏布局: 转写结果、执行日志、音频源控制
  • 实时状态: 可视化音频输入状态和设备监控
  • 智能日志: 详细的操作日志和错误诊断
  • 响应式设计: 支持窗口缩放和布局调整

🔧 系统要求

基础要求

  • 操作系统: Windows 10/11
  • Python版本: 3.7+
  • 内存: 建议4GB以上
  • 存储: 至少2GB可用空间(用于模型下载)

硬件要求

  • 音频设备: 麦克风或音频输入设备
  • GPU: 可选,支持CUDA的显卡可显著提升Whisper/BELLE模型性能
  • 网络: 可选,Google引擎需要网络连接

🚀 快速开始

1. 环境准备

# 克隆项目
git clone <repository-url>
cd reco-tran

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

# 如果PyAudio安装失败,使用以下方法:
pip install pipwin
pipwin install pyaudio

2. 启动程序

python audio_transcriber.py

3. 首次使用

  1. 程序启动后会自动检测音频设备
  2. 在"音频源控制"面板中选择合适的音频设备
  3. 选择识别引擎(Google/Whisper)
  4. 如果选择Whisper,首次使用会自动下载模型

📖 详细使用指南

🎤 录音功能

  1. 设备配置

    • 在右侧"音频源控制"面板中启用所需的音频源
    • 选择合适的麦克风或设备音频
    • 观察音量指示器确认设备工作正常
  2. 开始录音

    • 点击"开始录音"按钮
    • 观察实时时长显示
    • 如果启用"实时转写",可以看到实时转写结果
  3. 停止录音

    • 点击"停止录音"按钮
    • 录音文件自动保存到程序目录
    • 转写结果显示在左侧文本区域

🎵 文件转写

  1. 点击"打开音频文件"选择音频文件
  2. 选择合适的识别引擎
  3. 点击"开始转写"等待处理完成
  4. 转写结果自动显示在文本区域

💾 结果管理

  • 保存文本: 将转写结果保存为TXT文件
  • 编辑文本: 可以直接在文本区域编辑结果
  • 清空文本: 清除当前显示的所有文本
  • 日志查看: 在中间面板查看详细的操作日志

⚙️ 高级配置

🎛️ 音频参数调整

audio_transcriber.py 中可以调整以下参数:

self.rate = 16000        # 采样率(推荐16kHz)
self.channels = 1        # 声道数(单声道)
self.chunk = 1024        # 缓冲区大小
self.buffer_duration = 5 # 实时转写缓冲时长(秒)

🤖 模型选择策略

  • Google引擎: 适合网络环境良好,需要快速响应的场景
  • BELLE模型: 适合中文内容,离线使用,有GPU加速的场景
  • Whisper模型: 适合多语言内容,离线使用的通用场景

🔧 性能优化

  • GPU加速: 确保安装了CUDA和对应的PyTorch版本
  • 内存优化: 关闭不必要的后台程序
  • 存储优化: 定期清理录音文件和模型缓存

🛠️ 技术架构

核心技术栈

  • GUI框架: Tkinter(原生跨平台界面)
  • 音频处理: PyAudio(录音)+ PyDub(格式转换)
  • 语音识别: SpeechRecognition + OpenAI Whisper + Transformers
  • 深度学习: PyTorch(模型推理)
  • 并发处理: Threading(多线程音频处理)

架构特点

  • 模块化设计: 音频录制、设备管理、语音识别分离
  • 异步处理: 录音和转写并行执行
  • 智能缓存: 模型和音频数据智能缓存
  • 错误恢复: 完善的异常处理和错误恢复机制

🔍 故障排除

音频设备问题

症状: 无法检测到音频设备或录音无声 解决方案:

  1. 检查Windows音频设备设置
  2. 确认麦克风权限已开启
  3. 重启程序重新检测设备
  4. 检查音频驱动程序

模型下载问题

症状: Whisper/BELLE模型下载失败 解决方案:

  1. 检查网络连接
  2. 确保有足够的磁盘空间(至少2GB)
  3. 尝试使用VPN或更换网络环境
  4. 手动下载模型文件到缓存目录

音频格式转换失败

症状: "系统找不到指定的文件"错误 解决方案:

# 方法1:安装imageio-ffmpeg(推荐)
pip install imageio-ffmpeg

# 方法2:手动安装ffmpeg
# 1. 下载ffmpeg: https://ffmpeg.org/download.html
# 2. 解压到C:\ffmpeg
# 3. 添加C:\ffmpeg\bin到系统PATH
# 4. 重启程序

# 验证安装
ffmpeg -version

GPU加速问题

症状: 模型运行缓慢,未使用GPU 解决方案:

  1. 确认显卡支持CUDA
  2. 安装对应版本的CUDA Toolkit
  3. 安装GPU版本的PyTorch:
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    
  4. 重启程序检查GPU状态

转写准确率问题

优化建议:

  • 使用高质量麦克风
  • 在安静环境中录音
  • 说话清晰,语速适中
  • 选择合适的识别引擎
  • 对于中文内容优先使用BELLE模型

📊 性能基准

模型性能对比

模型中文准确率处理速度内存占用离线支持
Google95%
BELLE97%中等
Whisper-turbo92%中等
Whisper-small88%中等

硬件要求建议

使用场景CPU内存GPU推荐配置
基础使用双核2GHz+4GBGoogle引擎
离线转写四核3GHz+8GBWhisper-small
高性能转写八核3GHz+16GBGTX1060+BELLE模型

🔮 开发计划

近期计划

  • 支持更多音频格式(OGG, OPUS)
  • 添加音频预处理功能(降噪、增强)
  • 支持自定义热键控制
  • 添加转写结果导出格式(Word, PDF)

中期计划

  • 支持多语言混合识别
  • 添加说话人分离功能
  • 集成更多语音识别引擎
  • 支持云端模型API

长期计划

  • 开发Web版本
  • 支持移动端应用
  • 添加AI摘要功能
  • 集成翻译功能

🤝 贡献指南

如何贡献

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建Pull Request

代码规范

  • 遵循PEP 8代码风格
  • 添加适当的注释和文档
  • 确保新功能有对应的测试
  • 更新相关文档

📄 许可证

本项目采用MIT许可证 - 查看 LICENSE 文件了解详情

🙏 致谢

⚠️ 免责声明

本软件仅供学习和个人使用。使用本软件进行录音时,请遵守当地法律法规,尊重他人隐私权。开发者不承担因使用本软件而产生的任何法律责任。


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

Contributors

lxp135

49 commits

lxp135/reco-tran

一个录音并转写文字的小工具

0

stars

49

commits

Python

primary language

Aug 20, 2025

updated

README

录音转写工具 🎤📝

一个功能强大的Windows桌面录音转写软件,集成了多种先进的语音识别引擎,支持实时录音、音频文件转写和智能音频源管理。

✨ 核心功能

🎙️ 智能录音系统

  • 多设备支持: 自动检测并管理麦克风和设备音频输入
  • 实时监控: 可视化音频输入状态和音量指示
  • 动态控制: 录音过程中可实时切换音频源
  • 高质量录制: 16kHz采样率,专为语音识别优化
  • 自动保存: 录音文件自动命名为 recording_YYYYMMDD_HHMMSS.wav

🤖 多引擎语音识别

  • Google Speech Recognition (在线)

    • 高准确率中文识别
    • 需要网络连接
    • 快速响应
  • OpenAI Whisper (离线)

    • 支持多种模型:turbo、small、base、tiny
    • GPU/CPU自适应加速
    • 无需网络连接
    • 专为中文优化
  • BELLE-2/Belle-whisper-large-v3-turbo-zh (离线)

    • 专为中文语音识别优化的先进模型
    • 基于Whisper架构的中文增强版本
    • 支持GPU加速,显著提升处理速度
    • 更高的中文识别准确率

📊 实时转写功能

  • 边录边转: 录音过程中实时显示转写结果
  • 智能缓冲: 5秒音频缓冲,平衡准确率和实时性
  • 动态更新: 转写结果实时更新到界面
  • 状态监控: 实时显示转写状态和进度

🎵 多格式音频支持

  • 原生支持: WAV, FLAC
  • 转换支持: MP3, M4A, AAC(需要ffmpeg)
  • 智能处理: 自动音频格式转换和优化
  • 批量处理: 支持单个文件和批量文件处理

💻 现代化界面

  • 三栏布局: 转写结果、执行日志、音频源控制
  • 实时状态: 可视化音频输入状态和设备监控
  • 智能日志: 详细的操作日志和错误诊断
  • 响应式设计: 支持窗口缩放和布局调整

🔧 系统要求

基础要求

  • 操作系统: Windows 10/11
  • Python版本: 3.7+
  • 内存: 建议4GB以上
  • 存储: 至少2GB可用空间(用于模型下载)

硬件要求

  • 音频设备: 麦克风或音频输入设备
  • GPU: 可选,支持CUDA的显卡可显著提升Whisper/BELLE模型性能
  • 网络: 可选,Google引擎需要网络连接

🚀 快速开始

1. 环境准备

# 克隆项目
git clone <repository-url>
cd reco-tran

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

# 如果PyAudio安装失败,使用以下方法:
pip install pipwin
pipwin install pyaudio

2. 启动程序

python audio_transcriber.py

3. 首次使用

  1. 程序启动后会自动检测音频设备
  2. 在"音频源控制"面板中选择合适的音频设备
  3. 选择识别引擎(Google/Whisper)
  4. 如果选择Whisper,首次使用会自动下载模型

📖 详细使用指南

🎤 录音功能

  1. 设备配置

    • 在右侧"音频源控制"面板中启用所需的音频源
    • 选择合适的麦克风或设备音频
    • 观察音量指示器确认设备工作正常
  2. 开始录音

    • 点击"开始录音"按钮
    • 观察实时时长显示
    • 如果启用"实时转写",可以看到实时转写结果
  3. 停止录音

    • 点击"停止录音"按钮
    • 录音文件自动保存到程序目录
    • 转写结果显示在左侧文本区域

🎵 文件转写

  1. 点击"打开音频文件"选择音频文件
  2. 选择合适的识别引擎
  3. 点击"开始转写"等待处理完成
  4. 转写结果自动显示在文本区域

💾 结果管理

  • 保存文本: 将转写结果保存为TXT文件
  • 编辑文本: 可以直接在文本区域编辑结果
  • 清空文本: 清除当前显示的所有文本
  • 日志查看: 在中间面板查看详细的操作日志

⚙️ 高级配置

🎛️ 音频参数调整

audio_transcriber.py 中可以调整以下参数:

self.rate = 16000        # 采样率(推荐16kHz)
self.channels = 1        # 声道数(单声道)
self.chunk = 1024        # 缓冲区大小
self.buffer_duration = 5 # 实时转写缓冲时长(秒)

🤖 模型选择策略

  • Google引擎: 适合网络环境良好,需要快速响应的场景
  • BELLE模型: 适合中文内容,离线使用,有GPU加速的场景
  • Whisper模型: 适合多语言内容,离线使用的通用场景

🔧 性能优化

  • GPU加速: 确保安装了CUDA和对应的PyTorch版本
  • 内存优化: 关闭不必要的后台程序
  • 存储优化: 定期清理录音文件和模型缓存

🛠️ 技术架构

核心技术栈

  • GUI框架: Tkinter(原生跨平台界面)
  • 音频处理: PyAudio(录音)+ PyDub(格式转换)
  • 语音识别: SpeechRecognition + OpenAI Whisper + Transformers
  • 深度学习: PyTorch(模型推理)
  • 并发处理: Threading(多线程音频处理)

架构特点

  • 模块化设计: 音频录制、设备管理、语音识别分离
  • 异步处理: 录音和转写并行执行
  • 智能缓存: 模型和音频数据智能缓存
  • 错误恢复: 完善的异常处理和错误恢复机制

🔍 故障排除

音频设备问题

症状: 无法检测到音频设备或录音无声 解决方案:

  1. 检查Windows音频设备设置
  2. 确认麦克风权限已开启
  3. 重启程序重新检测设备
  4. 检查音频驱动程序

模型下载问题

症状: Whisper/BELLE模型下载失败 解决方案:

  1. 检查网络连接
  2. 确保有足够的磁盘空间(至少2GB)
  3. 尝试使用VPN或更换网络环境
  4. 手动下载模型文件到缓存目录

音频格式转换失败

症状: "系统找不到指定的文件"错误 解决方案:

# 方法1:安装imageio-ffmpeg(推荐)
pip install imageio-ffmpeg

# 方法2:手动安装ffmpeg
# 1. 下载ffmpeg: https://ffmpeg.org/download.html
# 2. 解压到C:\ffmpeg
# 3. 添加C:\ffmpeg\bin到系统PATH
# 4. 重启程序

# 验证安装
ffmpeg -version

GPU加速问题

症状: 模型运行缓慢,未使用GPU 解决方案:

  1. 确认显卡支持CUDA
  2. 安装对应版本的CUDA Toolkit
  3. 安装GPU版本的PyTorch:
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    
  4. 重启程序检查GPU状态

转写准确率问题

优化建议:

  • 使用高质量麦克风
  • 在安静环境中录音
  • 说话清晰,语速适中
  • 选择合适的识别引擎
  • 对于中文内容优先使用BELLE模型

📊 性能基准

模型性能对比

模型中文准确率处理速度内存占用离线支持
Google95%
BELLE97%中等
Whisper-turbo92%中等
Whisper-small88%中等

硬件要求建议

使用场景CPU内存GPU推荐配置
基础使用双核2GHz+4GBGoogle引擎
离线转写四核3GHz+8GBWhisper-small
高性能转写八核3GHz+16GBGTX1060+BELLE模型

🔮 开发计划

近期计划

  • 支持更多音频格式(OGG, OPUS)
  • 添加音频预处理功能(降噪、增强)
  • 支持自定义热键控制
  • 添加转写结果导出格式(Word, PDF)

中期计划

  • 支持多语言混合识别
  • 添加说话人分离功能
  • 集成更多语音识别引擎
  • 支持云端模型API

长期计划

  • 开发Web版本
  • 支持移动端应用
  • 添加AI摘要功能
  • 集成翻译功能

🤝 贡献指南

如何贡献

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建Pull Request

代码规范

  • 遵循PEP 8代码风格
  • 添加适当的注释和文档
  • 确保新功能有对应的测试
  • 更新相关文档

📄 许可证

本项目采用MIT许可证 - 查看 LICENSE 文件了解详情

🙏 致谢

⚠️ 免责声明

本软件仅供学习和个人使用。使用本软件进行录音时,请遵守当地法律法规,尊重他人隐私权。开发者不承担因使用本软件而产生的任何法律责任。


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

Contributors

lxp135

49 commits

Languages

Python

100.0%