asr_speech2markdown 是一个基于自动语音识别(ASR, Automatic Speech Recognition)的模型,能够将输入的语音音频转换为结构化的 Markdown 格式文本笔记。该模型旨在帮助用户通过语音快速记录想法、会议纪要、课堂笔记等内容,输出为易于整理和分享的 Markdown 格式。
⚠️ 注意: 该模型为 ModelScope 用户上传模型,模型文件无法通过公开 API 或 git clone 直接下载,访问可能需要 ModelScope 平台认证。
本仓库提供两种使用方式:
- 直接方式: 通过 ModelScope SDK 下载原始模型权重(需有效认证)
- 替代方案: 使用 FunASR 的 paraformer 系列模型在昇腾 NPU 上进行语音识别
├── README.md # 本文件
├── inference.py # NPU 推理脚本(支持 ModelScope 和 FunASR 两种方案)
├── compare_cpu_npu.py # CPU vs NPU 性能对比脚本
├── requirements.txt # Python 依赖
├── test_audio.wav # 测试音频文件
├── screenshots/ # 截图目录
└── scripts/ # 辅助脚本目录python3 -m venv venv
source venv/bin/activateCPU 环境:
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu昇腾 NPU 环境:
# 请根据昇腾 AI 处理器型号和 CANN 版本选择合适的 torch_npu 版本
pip install torch torchaudio
pip install torch_npu详细安装指南请参考 PyTorch 昇腾适配官方文档。
pip install soundfile numpy modelscope funasr或直接使用 requirements.txt:
pip install -r requirements.txtFunASR 提供的 paraformer 模型是阿里巴巴达摩院开源的高精度非自回归端到端语音识别模型,支持中文语音识别,并在昇腾 NPU 上有良好的兼容性。
# NPU 推理
python inference.py --wav test_audio.wav --device npu# CPU 推理
python inference.py --wav test_audio.wav --device cpu# 自动选择设备(优先 NPU)
python inference.py --wav test_audio.wav --device autopython inference.py --wav test_audio.wav --mode modelscope --device npu此方式需要 ModelScope 认证,且模型文件需提前下载到本地。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--wav | str | test_audio.wav | 输入音频文件路径 |
--device | str | auto | 推理设备:auto / cpu / npu |
--mode | str | alt | 模型加载方式:modelscope / alt(替代方案) |
| 项目 | 状态 |
|---|---|
| FunASR paraformer NPU 推理 | ✅ 已验证 |
| torch_npu 算子兼容 | ✅ 通过 |
| NPU 推理精度 | ✅ 与 CPU 一致 |
| 端到端性能 | ✅ 显著优于 CPU |
使用 compare_cpu_npu.py 脚本可以对比 CPU 和 NPU 上的推理性能:
python compare_cpu_npu.py --wav test_audio.wav该脚本会自动检测 NPU 可用性,在同一音频上分别运行 CPU 和 NPU 推理,输出:
由于原始 asr_speech2markdown 模型文件的访问限制,推荐使用 FunASR 的 paraformer 系列模型作为替代。
| 模型名称 | 说明 | 语言 |
|---|---|---|
iic/speech_paraformer_asr_nb-zh-cn-16k-common-vocab8404-pytorch | Paraformer 非自回归端到端 ASR 模型 | 中文 |
iic/speech_fsmn_vad_zh-cn-16k-common-pytorch | VAD 语音活动检测模型 | 中文 |
iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch | 标点恢复模型 | 中文 |
from funasr import AutoModel
# 加载模型(含 VAD + 标点恢复)
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", # 昇腾 NPU 设备
)
# 语音识别
result = model.generate(input="audio.wav", cache={})
print(result)原始模型文件需要 ModelScope 平台认证。建议使用 FunASR paraformer 替代方案,功能更全面且支持 NPU。
请确认:
FunASR 方案内置了 VAD 模型,可自动对长音频进行语音活动检测和分段处理。如果仍有问题,可以:
支持 soundfile 库支持的所有格式,包括 WAV、FLAC、OGG 等。建议音频采样率为 16kHz 以获得最佳识别效果。
本项目基于原始 ModelScope 模型的许可证分发。FunASR 替代方案基于 FunASR 开源项目,遵循相应开源许可证。
#+NPU, #+语音识别, #+昇腾, #+ASR, #+FunASR, #+Paraformer, #+PyTorch, #+ModelScope, #+语音转Markdown