App-for-ASR 是一个基于 Python 的 实时语音识别 & 翻译 Gradio 应用
- 可以全程保持在本地运行, 不需要连接互联网
- 支持 Intel GPU, 可以将 OpenAI Whisper 系列模型转换成 OpenVINO 支持的格式
- 如果是 Intel 核显, 建议选择
whisper-tiny和whisper-base来进行转换 - 使用前需要手动转换模型, 命令如下:
# 激活虚拟环境 cd .\.venv\Scripts && activate.bat # 转换模型 python scripts\convert_model.py --src <model_path> [--dst <convert_model>]
- 如果是 Intel 核显, 建议选择
- 前置准备
- 编辑配置文件
config.cfg, 需要指定FFmpeg_Path对应的路径 (需要 Full-Shared 版本) - 编辑配置文件
config.cfg, 需要指定ASR_Model模型对应的路径 - 编辑配置文件
config.cfg, 需要指定LLM部分对应的参数 - 如果想使用 Intel 显卡来进行 ASR, 可以在
config.cfg中设置OpenVINO_Enable=True, 并指定OpenVINO_ASR_Model为转换后的模型路径
- 编辑配置文件
- 打开方法
- 执行
Real-time ASR.bat(请参考 Installation 来配置环境) - 执行
python Real-time ASR.py(请参考 Installation 来配置环境) - 执行编译后的
Real-time ASR.exe(请参考 How to Build 部分)
- 执行
-
FFmpeg
- 本项目需要依赖 FFmpeg, 请将 FFmpeg 的 bin 目录添加到
config.cfg中的FFmpeg_Path - FFmpeg 可以通过 官方下载链接 来下载
- 本项目需要依赖 FFmpeg, 请将 FFmpeg 的 bin 目录添加到
-
语音识别
- 语音识别使用的是 OpenAI Whisper 系列模型, 请将模型路径添加到
config.cfg中的ASR_Model - 模型文件需要下载到本地, 模型开源地址为:
- HuggingFace
- ModelScope (魔搭社区)
- 语音识别使用的是 OpenAI Whisper 系列模型, 请将模型路径添加到
-
语音翻译
- 翻译需要连接 Ollama API 或 OpenAI API 来实现
- 如果使用 Ollama API, 请参考 Ollama 官网
- 如果使用 OpenAI API, 并在本地运行, 请参考 LM Studio 官网
- 翻译需要连接 Ollama API 或 OpenAI API 来实现
-
采集系统音频
- 如果想采集系统内部声音, 需要寻找 "立体声混音 / Stereo Mix"
- Windows 上默认不开启该设备, 需要到系统里去开启, Win11 上的开启方法为:
- 系统 -> 声音设置 -> 高级 -> 所有声音设备 -> 立体声混音 -> 允许
- 如果存在外部麦克风/耳机, 可能会导致 "立体声混音 / Stereo Mix" 失效, 如果外部麦克风/耳机必须要使用, 则可以尝试 Voicemeeter 进行音频路由
- 详细介绍请参考 VOICEMEETER Virtual Inputs/Outputs (VAIO)
- 如果只想采集电脑音频的话, Standard 版本就足够了
- 安装完成后, 在 Windows 系统中将 "声音输出" 设置为
Voicemeeter Input (VB-Audio Voicemeeter VAIO) - 设置完成后启动 Voicemeeter, 将最右边的 A1 设置为目前正在发声的设备 (最右侧的 Hardware Out 部分)
- 此时在软件界面里, B(Virtual Out) 就会出现声音, 使用软件采集 B1 设备即可采集电脑音频
- A 系列设备是物理设备 (输出设备), Standard 版本可以同时选择2个, 这里只用 A1 即可
- B 系列设备是虚拟设备 (输入设备), Standard 版本只有 B1
- Voicemeeter Standard 版本只启用了2个A设备和1个B设备, 如果只打算采集电脑音频, 那么可以只启用这两个设备, 其余都可以禁用
- 输出设备
Voicemeeter Input (VB-Audio Voicemeeter VAIO)
- 输入设备
Voicemeeter Out B1 (VB-Audio Voicemeeter VAIO)
- 输出设备
- 安装 Python3, 目前测试 Python 3.13 可用
- [可选] 进入项目根目录, 并创建一个虚拟环境
# 在当前目录下创建一个虚拟环境 python -m venv .venv # 激活虚拟环境 cd .\.venv\Scripts && activate.bat
- 安装依赖库
- 自动安装
# 需要指定项目根目录的 requirements.txt # 最好先手动安装 PyTorch pip install -r <path_for_requirements.txt>
- 手动安装
# 安装 PyTorch - 如果有支持 CUDA 的 GPU, 推荐选这个 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128 # 安装 PyTorch - CPU 版本 pip install torch torchvision # 其余依赖库 # 如果安装缓慢, 可以指定镜像站: -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -U gradio pip install -U pyaudio pip install -U loguru pip install -U transformers datasets[audio] accelerate pip install -U silero_vad pip install -U opencc-python-reimplemented pip install -U langchain pip install -U langchain-ollama pip install -U langchain-openai pip install -U pywebview pip install -U pyinstaller pip install -U --upgrade-strategy eager optimum[openvino]
- 自动安装
请确保已经安装好了环境依赖部分
- 激活虚拟环境
cd .\.venv\Scripts && activate.bat- 编辑
Real-time ASR.spec文件中的第7行ffmpeg_path,修改为你的 FFmpeg Full-Shared 路径 - 启动构建命令, 完成后会在
dist目录下生成可执行文件
pyinstaller ".\Real-Time ASR.spec"
- 将文件
config.json和目录model/FFmpeg复制到dist\Real-time ASR目录下 - 调整
config.json相关项, 确保能够找到模型目录 model,FFmpeg的路径, 以及LLM部分参数正确
