项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- Python 环境(训练/部署建议用 Conda 创建 python=3.10 环境)
- pip 可访问 GitHub 以安装主仓库
- GPU 用户需自行安装匹配的 CUDA(README 推荐 CUDA 12.1)
- 构建 runtime 需 cmake 3.14 或以上
- 如需 sox 请通过 conda 安装 conda-forge::sox
安装与启动步骤
-
1安装 Python 包
直接用 pip 从 GitHub 安装 WeNet,会自动拉入 torch>=1.13.0 且无上限,可能装到高于驱动支持的版本。
pip install git+https://github.com/wenet-e2e/wenet.git -
2检查 GPU 是否可用
在带 GPU 的机器上验证 torch 能否调用 CUDA,返回 False 时会静默回退 CPU 且不报错。
python -c "import torch; print(torch.cuda.is_available())" -
3按需重装匹配的 torch
若上一步为 False,说明 torch 与驱动 CUDA 版本不匹配,按 README 示例重装 cu121 版本。
pip install torch==2.4.0+cu121 torchaudio==2.4.0+cu121 --index-url https://download.pytorch.org/whl/cu121 --force-reinstall -
4命令行识别音频
用 -m 指定模型名,对 wav 文件做识别;可用 -h 查看全部参数。
wenet -m paraformer audio.wav -
5Python 代码调用
以库的方式加载模型并转写音频,结果从 result.text 取出;load_model 可传 device 参数。
import wenet model = wenet.load_model('paraformer') result = model.transcribe('audio.wav') print(result.text) -
6克隆仓库准备训练
训练与部署需先克隆仓库,并准备好 Conda 环境,同时安装 sox。
git clone https://github.com/wenet-e2e/wenet.git conda create -n wenet python=3.10 conda activate wenet conda install conda-forge::sox -
7安装训练依赖
在 conda 环境中安装 README 推荐的 torch 2.2.2+cu121 组合,再装其余 Python 依赖。
pip install torch==2.2.2+cu121 torchaudio==2.2.2+cu121 -f https://download.pytorch.org/whl/torch_stable.html pip install -r requirements.txt pre-commit install -
8构建 libtorch runtime
如需 C++ 运行时,在 runtime/libtorch 下用 cmake 构建,要求 cmake 3.14 以上。
cd runtime/libtorch mkdir build && cd build && cmake -DGRAPH_TOOLS=ON .. && cmake --build .
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
-m / model_name | 是 | 指定识别所用的模型,决定语言与效果。 | paraformer |
--device | 否 | 推理设备,默认 cpu,需要 GPU 时显式指定 cuda。 | cuda |
如何确认成功
执行 python -c "import torch; print(torch.cuda.is_available())" 输出 True(GPU 场景);命令行识别能打印出文本即成功。
常见问题
Q:有 GPU 但 torch.cuda.is_available() 返回 False 怎么办?
A:说明 pip 装到的 torch 版本超出驱动支持的 CUDA 版本,torch 会静默回退 CPU。需按驱动 CUDA 版本重装对应的 torch/torchaudio,例如 2.4.0+cu121。
Q:可以用哪些模型名?
A:中文可用 paraformer、firered、wenetspeech;英文可用 whisper-large-v3、whisper-large-v3-turbo。
Q:为什么命令行默认不用 GPU?
A:--device 默认值是 cpu,即使机器有 GPU 也不会自动使用,需要显式传 --device cuda,Python API 则传 device='cuda'。
Q:Ascend NPU 用户怎么安装?
A:先按官方文档安装 CANN toolkit 与 kernels,再用 pip install -e .[torch-npu] 安装 WeNet;README 给出了 CANN、torch、torch-npu、torchaudio、deepspeed 的版本建议表。
注意事项
- pip 安装会拉取无上限的 torch 版本,可能与 GPU 驱动不匹配,安装后务必验证 CUDA 可用性。
- 命令行推理默认走 CPU,需要 GPU 时必须显式指定 --device cuda。
- 训练与部署需要单独克隆仓库、创建 Conda 环境并安装指定版本 torch,与仅用 pip 包的方式不同。
- runtime 构建要求 cmake 3.14 以上,更多平台与系统请参考 runtime 目录文档。
核心亮点
- 原生支持流式与非流式统一训练,模型可同时用于实时和离线场景
- 内置高性能 C++/Go 运行时,无需额外推理框架即可直接部署
- 提供丰富的预训练模型和完整工具链,降低端到端 ASR 落地门槛
不足之处
- 文档和社区生态相对较新,部分高级用法需自行摸索
- 对自定义前端特征或特殊数据增强的支持不够灵活
适用场景
- 需要快速上线语音转写服务的产品团队
- 在嵌入式或移动端部署离线语音识别
- 构建支持实时交互的语音助手或客服系统
替代项目
ESPnet、Kaldi、SpeechBrain
上一篇:Mega-ASR
同类项目推荐
obs-localvocal
开源
直播录屏时,本地AI实时生成字幕,保护隐私零延迟
OBS plugin for local speech recognition and captioning using AI
LiveCaptions-Translator
开源
实时捕获系统音频,一键翻译成你懂的语言
Lightweight and powerful real-time audio/speech translation tool based on Windows Li···
speechbrain
开源
一站式 PyTorch 语音工具箱,快速搞定识别、说话人验证等任务
A PyTorch-based Speech Toolkit
whisper-diarization
开源
给语音转写加上说话人标签,会议记录一目了然
Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper
