e
gcw_GSiqzzLf/asr_speech2markdown-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

asr_speech2markdown - 智能语音生成 Markdown 笔记

模型简介

asr_speech2markdown 是一个基于自动语音识别(ASR, Automatic Speech Recognition)的模型,能够将输入的语音音频转换为结构化的 Markdown 格式文本笔记。该模型旨在帮助用户通过语音快速记录想法、会议纪要、课堂笔记等内容,输出为易于整理和分享的 Markdown 格式。

  • 任务类型: Automatic Speech Recognition (ASR) / 自动语音识别
  • 框架: PyTorch
  • 模型大小: ~24MB
  • 原始来源: ModelScope - ModelBulider/asr_speech2markdown

重要说明

⚠️ 注意: 该模型为 ModelScope 用户上传模型,模型文件无法通过公开 API 或 git clone 直接下载,访问可能需要 ModelScope 平台认证。

本仓库提供两种使用方式:

  1. 直接方式: 通过 ModelScope SDK 下载原始模型权重(需有效认证)
  2. 替代方案: 使用 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/               # 辅助脚本目录

环境要求

硬件要求

  • NPU 环境: 华为昇腾 910B / 910A (Atlas 800 A2 或 A3 系列服务器)
  • CPU 环境: 任意 x86_64 或 arm64 架构 CPU

软件依赖

  • Python >= 3.8
  • PyTorch >= 2.0.0
  • torch_npu >= 2.0.0(昇腾 NPU 驱动,仅 NPU 环境需要)
  • torchaudio >= 2.0.0
  • soundfile
  • numpy
  • FunASR >= 1.0.0(替代方案)
  • ModelScope SDK >= 1.0.0(直接下载方案)

安装步骤

1. 创建 Python 虚拟环境(推荐)

python3 -m venv venv
source venv/bin/activate

2. 安装 PyTorch 和 torch_npu

CPU 环境:

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 昇腾适配官方文档。

3. 安装其他依赖

pip install soundfile numpy modelscope funasr

或直接使用 requirements.txt:

pip install -r requirements.txt

使用方法

方案一:使用 FunASR 替代模型(推荐,支持 NPU)

FunASR 提供的 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 auto

方案二:直接使用 ModelScope 原始模型

python inference.py --wav test_audio.wav --mode modelscope --device npu

此方式需要 ModelScope 认证,且模型文件需提前下载到本地。

脚本参数说明

参数类型默认值说明
--wavstrtest_audio.wav输入音频文件路径
--devicestrauto推理设备:auto / cpu / npu
--modestralt模型加载方式:modelscope / alt(替代方案)

NPU 适配说明

适配状态

项目状态
FunASR paraformer NPU 推理✅ 已验证
torch_npu 算子兼容✅ 通过
NPU 推理精度✅ 与 CPU 一致
端到端性能✅ 显著优于 CPU

NPU 环境配置建议

  1. CANN 版本: 建议使用 CANN 7.0.RC1 及以上版本
  2. 驱动版本: 确保 NPU 驱动版本与 CANN 匹配
  3. 内存分配器: 建议配置 PYTORCH_NPU_ALLOC_CONF 环境变量以优化显存分配
  4. 批处理优化: FunASR 支持 VAD(语音活动检测)+ 标点恢复流水线,在 NPU 上可获得更高吞吐

CPU vs NPU 性能对比

使用 compare_cpu_npu.py 脚本可以对比 CPU 和 NPU 上的推理性能:

python compare_cpu_npu.py --wav test_audio.wav

该脚本会自动检测 NPU 可用性,在同一音频上分别运行 CPU 和 NPU 推理,输出:

  • 各设备推理耗时
  • 加速比(NPU vs CPU)
  • 识别结果一致性验证

替代方案详解:FunASR paraformer

由于原始 asr_speech2markdown 模型文件的访问限制,推荐使用 FunASR 的 paraformer 系列模型作为替代。

模型选择

模型名称说明语言
iic/speech_paraformer_asr_nb-zh-cn-16k-common-vocab8404-pytorchParaformer 非自回归端到端 ASR 模型中文
iic/speech_fsmn_vad_zh-cn-16k-common-pytorchVAD 语音活动检测模型中文
iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch标点恢复模型中文

特性

  • 非自回归架构: 推理速度快,适合实时语音识别
  • 预训练模型: 在大量中文语音数据上预训练,识别准确率高
  • 流水线支持: 支持 VAD + ASR + 标点恢复的完整语音识别流水线
  • NPU 兼容: 已验证在华为昇腾 NPU 上正常运行

进阶用法

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)

常见问题

Q1: 无法从 ModelScope 下载原始模型怎么办?

原始模型文件需要 ModelScope 平台认证。建议使用 FunASR paraformer 替代方案,功能更全面且支持 NPU。

Q2: torch_npu 安装失败?

请确认:

  1. 昇腾 AI 处理器驱动已正确安装
  2. CANN 版本与 torch_npu 版本匹配
  3. 检查 torch_npu 官方安装指南:https://pypi.org/project/torch-npu/

Q3: 如何处理长音频?

FunASR 方案内置了 VAD 模型,可自动对长音频进行语音活动检测和分段处理。如果仍有问题,可以:

  1. 先将音频分片处理
  2. 逐个片段进行推理
  3. 合并识别结果

Q4: 支持哪些音频格式?

支持 soundfile 库支持的所有格式,包括 WAV、FLAC、OGG 等。建议音频采样率为 16kHz 以获得最佳识别效果。


许可证

本项目基于原始 ModelScope 模型的许可证分发。FunASR 替代方案基于 FunASR 开源项目,遵循相应开源许可证。


参考链接

  • ModelScope 原始模型
  • FunASR 官方仓库
  • PyTorch 昇腾适配文档
  • 华为昇腾社区

Tag(标签)

#+NPU, #+语音识别, #+昇腾, #+ASR, #+FunASR, #+Paraformer, #+PyTorch, #+ModelScope, #+语音转Markdown