Skip to content

TJUEZ/ezA2T

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<<<<<<< HEAD

ezA2T

完全离线的实时字幕识别

ezA2T - 离线实时语音转字幕软件

Python License Platform Status

Easy Audio to Text - 专为Windows设计的离线实时语音转字幕软件

🎯 功能特点

  • 🎧 真正的系统音频捕获:使用Windows WASAPI loopback技术,捕获电脑播放的任何音频
  • 🔒 完全离线运行:无需网络连接,保护隐私,数据不上传
  • ⚡ 实时字幕显示:就像音乐播放器的歌词显示一样,实时展示识别结果
  • 🎨 自定义界面:可调整字幕位置、大小、字体、颜色等
  • 🌐 多语言支持:支持中文、英文等多种语言模型
  • 💾 轻量级部署:核心文件小巧,运行流畅

📋 使用场景

  • 📺 视频字幕:为没有字幕的视频实时生成字幕
  • 🎵 音乐歌词:为音乐生成实时歌词显示
  • 🎙️ 会议记录:实时转录会议内容
  • 📚 学习辅助:帮助听力练习和语言学习
  • ♿ 无障碍支持:为听障人士提供实时字幕

🚀 快速开始

系统要求

  • Windows 10/11 (64位)
  • Python 3.7+
  • 音频输出设备

安装步骤

  1. 克隆项目

    git clone https://github.com/TJUEZ/ezA2T.git
    cd ezA2T
  2. 安装依赖

    pip install -r requirements.txt
  3. 下载语音模型

    python setup.py

    在图形界面中选择并下载适合的语音模型:

    • 中文模型:vosk-model-cn-0.22 (推荐)
    • 英文模型:vosk-model-en-us-0.22
  4. 运行软件

    python main.py

    或直接双击 run.bat

🎮 使用方法

基本操作

  1. 启动软件:运行 main.py 或双击 run.bat
  2. 播放音频:播放任何音频内容(视频、音乐、语音等)
  3. 查看字幕:软件会自动识别并显示字幕

界面操作

  • 右键菜单:右键点击字幕窗口打开设置菜单
  • 拖拽移动:拖拽字幕窗口到任意位置
  • 双击置顶:双击切换窗口置顶状态
  • 快捷键
    • Ctrl+S:保存字幕到文件
    • Ctrl+Q / ESC:退出程序

设置选项

  • 字体设置:调整字体大小、颜色、样式
  • 窗口设置:调整窗口大小、透明度、位置
  • 识别设置:选择语音模型、调整识别参数

🔧 技术架构

核心组件

ezA2T/
├── main.py                           # 主程序入口
├── src/
│   ├── wasapi_loopback_capture.py   # WASAPI音频捕获
│   ├── speech_recognizer.py         # 语音识别引擎
│   ├── subtitle_ui.py               # 字幕显示界面
│   └── config.py                    # 配置管理
├── setup.py                         # 模型下载器
├── run.bat                          # 快速启动脚本
└── requirements.txt                 # 依赖列表

技术栈

  • 音频捕获PyAudioWPatch - 支持WASAPI loopback
  • 语音识别VOSK - 离线语音识别
  • 界面框架:Tkinter - 跨平台GUI框架
  • 数据处理:NumPy - 音频数据处理

🛠️ 高级配置

配置文件

编辑 config.json 自定义设置:

{
  "audio": {
    "sample_rate": 16000,
    "chunk_size": 1024
  },
  "recognition": {
    "model_path": "./models/vosk-model-cn-0.22",
    "language": "zh-cn"
  },
  "ui": {
    "font_size": 14,
    "font_family": "微软雅黑",
    "window_alpha": 0.9
  }
}

命令行参数

# 查看帮助
python main.py --help

# 列出音频设备
python main.py --list-devices

# 使用指定配置文件
python main.py --config my_config.json

# 查看模型下载指南
python main.py --download-guide

📖 常见问题

Q: 无法识别音频?

A: 确保:

  1. 电脑正在播放音频
  2. 音频设备正常工作
  3. 选择了正确的语音模型

Q: 字幕显示不准确?

A: 尝试:

  1. 选择更大的语音模型
  2. 确保音频清晰无杂音
  3. 调整音频音量

Q: 软件运行缓慢?

A: 可以:

  1. 使用较小的语音模型
  2. 调整chunk_size参数
  3. 关闭其他占用资源的程序

Q: 支持其他语言?

A: 是的!从 VOSK Models 下载对应语言模型即可。

🤝 贡献指南

欢迎贡献代码!请:

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

📝 开发计划

  • 支持更多音频格式
  • 添加语音增强功能
  • 支持自定义语音模型训练
  • 添加多语言实时切换
  • 支持macOS和Linux

📄 许可证

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

🙏 致谢

📞 联系我们


如果这个项目对你有帮助,请给我们一个 ⭐ Star!

Made with ❤️ by TJUEZ Team

>>>>>>> c963349 (Initial commit: ezA2T - 离线实时语音转字幕软件)

About

完全离线的实时字幕识别

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors