asr_speech2text 是一个基于 PyTorch 的自动语音识别(ASR)模型,专门用于 智能语音生成会议纪要 场景。该模型能够将会议录音、对话音频自动转换为文本,帮助用户快速整理会议记录、提取关键信息,大幅提升会议效率。
| 属性 | 说明 |
|---|---|
| 任务类型 | 自动语音识别 (ASR) / 语音转文本 |
| 应用场景 | 智能会议纪要生成 |
| 框架 | PyTorch |
| 模型大小 | ~24 MB |
| 原始来源 | ModelScope - ModelBulider/asr_speech2text |
| NPU 适配 | 支持华为昇腾 Ascend NPU (910/910B) |
asr_speech2text/
├── README.md # 本文件 - 模型说明文档
├── inference.py # NPU/CUDA/CPU 通用推理脚本
├── compare_cpu_npu.py # CPU vs NPU 性能对比脚本
├── requirements.txt # Python 依赖
├── test_audio.wav # 测试音频文件
├── screenshots/ # (可选) 截图目录
└── scripts/ # (可选) 辅助脚本目录pip install -r requirements.txt主要依赖说明:
| 依赖 | 用途 |
|---|---|
torch | PyTorch 深度学习框架 |
torch_npu | 华为昇腾 NPU PyTorch 插件 |
soundfile | 音频文件读取 |
modelscope | ModelScope 模型下载(可选) |
funasr | FunASR 语音识别工具包(替代方案) |
如需在华为昇腾 NPU 上运行,请确保已正确安装昇腾驱动和 CANN 软件包:
# 检查 NPU 是否可用
python -c "import torch; print(torch.npu.is_available())"
# 应输出: True注意: 如果在 CPU 环境下运行,torch_npu 可不安装,推理脚本会自动回退到 CPU 模式。
该模型由用户上传至 ModelScope,模型文件可通过以下方式获取:
# 方式1:使用 modelscope SDK
python -c "from modelscope import snapshot_download; snapshot_download('ModelBulider/asr_speech2text', cache_dir='./model')"
# 方式2:使用 git clone
git clone https://www.modelscope.cn/ModelBulider/asr_speech2text.git注意:原始模型文件可能不公开开放下载。如果上述方式无法获取模型,请使用下面的 FunASR 替代方案。
本仓库默认使用 FunASR 的 Paraformer 模型作为替代,该模型原生支持昇腾 NPU,在中英文语音识别任务上表现优异。
替代方案的优势:
from funasr import AutoModel
model = AutoModel(
model="iic/speech_paraformer_asr_nb-zh-cn-16k-common-vocab8404-pytorch",
vad_model="iic/speech_fsmn_vad_zh-cn-16k-common-pytorch",
punc_model="iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
device="npu:0", # 或在 CPU 上使用 "cpu"
)
result = model.generate(input="test_audio.wav", cache={})
print(result)# 自动检测设备(NPU > CPU)
python inference.py --wav test_audio.wav
# 指定使用 NPU
python inference.py --wav test_audio.wav --device npu
# 指定使用 CPU
python inference.py --wav test_audio.wav --device cpu
# 尝试从 ModelScope 加载原始模型
python inference.py --wav test_audio.wav --mode modelscope# 运行 CPU 和 NPU 性能对比(每设备推理3次取平均)
python compare_cpu_npu.py --wav test_audio.wav --runs 3本模型已针对华为昇腾 Ascend NPU 适配,关键适配点如下:
| 适配项 | 状态 | 说明 |
|---|---|---|
| NPU 设备检测 | 已完成 | torch.npu.is_available() 自动检测 |
| FunASR NPU 推理 | 已完成 | FunASR 原生支持 Ascend NPU |
| auto 设备回退 | 已完成 | NPU 不可用时自动回退 CPU |
| 性能对比 | 已完成 | compare_cpu_npu.py 提供性能对比 |
# 1. 准备会议录音(16kHz, wav格式)
# 2. 运行推理
python inference.py --wav meeting_recording.wav --device npu
# 3. 输出示例
# [RESULT] 识别结果: ['好的,今天我们讨论一下第一季度的项目进展。首先请各负责人汇报一下工作情况。']
# [RESULT] 推理耗时: 3520.45 msimport os
from funasr import AutoModel
model = AutoModel(
model="iic/speech_paraformer_asr_nb-zh-cn-16k-common-vocab8404-pytorch",
vad_model="iic/speech_fsmn_vad_zh-cn-16k-common-pytorch",
punc_model="iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
device="npu:0",
)
audio_dir = "audio_files/"
for wav_file in os.listdir(audio_dir):
if wav_file.endswith(".wav"):
result = model.generate(input=os.path.join(audio_dir, wav_file), cache={})
print(f"{wav_file}: {result}")请参考原始模型在 ModelScope 上的许可证。本仓库中的推理脚本和工具代码采用 MIT 许可证。