算能盒子——AI_report适配文档
算能bm_model模型链接:https://github.com/hsyysy/FunASR-bmodel/blob/bmodel/bmodel/README.md
一、环境配置
1.安装torch,torchaudio:
pip3 install torch torchaudio

2.安装funasr:
git clone https://github.com/hsyysy/FunASR-bmodel.git
cd FunASR-bmodel && pip3 install -e ./

cd FunASR-bmodel/bmodel/
注意 root 用户下和 linaro 用户下的python环境是分离的,需要注意这里是安装到哪个环境下了
后续需要在哪个环境下执行python启动命令
pip3 install -r requirements.txt

需要注意,这里固定版本为
pip3 install umap-learn==0.5.3

3.根据系统架构选择性地安装tpu_perf:
查看系统架构:
uname -a

安装 x86架构:
pip3 install tpu_perf-1.2.35-py3-none-manylinux2014_x86_64.whl
或者arm架构:
pip3 install tpu_perf-1.2.35-py3-none-manylinux2014_aarch64.whl

二、离线语音识别demo
本例程在各个模型的目录内scripts目录下提供了下载脚本download.sh
1.需要分别下载的模型:
speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404
speech_fsmn_vad_zh-cn-16k-common
punc_ct-transformer_zh-cn-common-vocab272727
speech_campplus_sv_zh-cn_16k-common


2.运行脚本 offline.py:
修改 offline.py
#!/bin/python3
import sys
sys.path.append("..")
from funasr import AutoModel
import time
import multiprocessing
# file_path = "../audio/test_audio_20241017.wav"
file_path = "audio.wav"
dev_id = 0
target = "BM1684X"
# offline asr demo
model = AutoModel(
#model="speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404/models/"+target, ## 语音识别模型
model="speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404/models/"+target, ## 语音识别模型
vad_model="speech_fsmn_vad_zh-cn-16k-common/models/"+target, ## 语音端点检测模型
punc_model="punc_ct-transformer_zh-cn-common-vocab272727/models/"+target, ## 标点恢复模型
spk_model="speech_campplus_sv_zh-cn_16k-common/models/"+target, ## 说话人识别模型
device="cpu",
disable_update=True,
disable_pbar=True,
dev_id=dev_id,
)
# inference
start_time = time.time()
import soundfile as sf
speech, fs = sf.read(file_path)
if len(speech.shape) > 1:
speech = speech[:,0]
print(
"audio:",
speech.shape,
fs
)
res = model.generate(
input=speech,
batch_size_s=300
)
print(res)
# res = model.generate(input=file_path, batch_size_s=300,)
end_time = time.time()
if "sentence_info" in res[0].keys():
for si in res[0]["sentence_info"]:
print("["+format(si["start"],"7d")+"]["+format(si["end"],"7d")+"], spk="+format(si["spk"],'2d')+", text: "+si["text"])
else:
print(res[0]["text"])
print("generate time:", end_time-start_time)
运行 offline.py
python3 offline.py

3. AI报告安装依赖和字体
1.安装AI报告依赖python-docx
❌算能盒子会遇到安装python-docx报错问题
安装python-docx报错非常典型,而且在 BM1684 / ARM / Ubuntu 上几乎必遇到。
我们直接把根因、为什么你装了还是不行、以及 3 种可落地解决方案一次性说清楚。
①未安装python-docx会报下面错误:
❌
No module named 'docx'
② 正常安装 python-docx会报错:
pip3 install python-docx
是 python-docx 的依赖 lxml 编译失败:
Error: Please make sure the libxml2 and libxslt development packages are installed.
👉 结论一句话:
在 ARM(BM1684)环境下,
python-docx依赖的lxml没有可用的预编译 wheel,pip 只能源码编译,但你的系统缺少底层 C 库开发头文件。
③ 为什么在你这台机器上一定会这样?
1️⃣ python-docx → 依赖链
python-docx └── lxml ❌(需要本地编译) ├── libxml2-dev ❌ 缺失 └── libxslt-dev ❌ 缺失
2️⃣ 为什么 x86 机器没事,你这台有事?
| 平台 | lxml 安装方式 |
|---|---|
| x86_64 | 直接下载 wheel(不用编译) |
| ARM / BM1684 | ❌ 没有 wheel → 必须源码编译 |
✅正确、最稳的解决方案(强烈推荐)
🔧 方案 (最标准):安装系统依赖后再 pip 装
这是官方推荐、成功率 100% 的方式。
① 安装系统依赖(只需一次)
sudo apt-get update sudo apt-get install -y libxml2-dev libxslt-dev python3-dev build-essential
sudo apt-get update
sudo apt-get install -y \
libxml2-dev \
libxslt-dev \
python3-dev \
build-essential
说明一下这些包是干嘛的:
| 包名 | 作用 |
|---|---|
| libxml2-dev | lxml 核心依赖 |
| libxslt-dev | XML / XSLT 支持 |
| python3-dev | Python C 扩展头文件 |
| build-essential | gcc / make |

apt update
apt install -y libreoffice

② 再装 python-docx
pip3 install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple

③ 验证(一定要做)
python3 - << 'EOF'
from docx import Document
print("python-docx OK")
EOF
看到输出就说明 彻底解决。

4.安装中文字体(必做)
否则会出现docx转PDF导致中文乱码现象
1.解压中文字体包
字体根据具体路径安装

unzip SourceHanSansSC.zip

2. 创建系统字体目录
mkdir -p /usr/share/fonts/opentype/sourcehan
3. 复制字体
执行:
cp OTF/SimplifiedChinese/*.otf /usr/share/fonts/opentype/sourcehan/
4. 更新字体缓存
如果没有 fontconfig:
先安装:
apt update
apt install -y fontconfig

然后:
fc-cache -fv

5. 验证
执行:
fc-list | grep SourceHan
应该看到:
类似:
/usr/share/fonts/opentype/sourcehan/SourceHanSansSC-Regular.otf: Source Han Sans SC
/usr/share/fonts/opentype/sourcehan/SourceHanSansSC-Bold.otf: Source Han Sans SC

5. 运行AI_resport
① 迁移模型到指定目录下
把模型迁移到项目目录下:SourceHanSansSC 除外(思源黑体)

② 修改模型加载方式:

③ 运行 asr_flask_suanneng.py:
python3 asr_flask.py


更多推荐


所有评论(0)