Spoken-Communication.axera
spoken communication demo on Axera
- Python 示例
- C++ 示例
Convert tools links:
For those who are interested in model conversion, you can try to export axmodel through the original repo : How to Convert from ONNX to axmodel
支持平台
- AX650N
功能
语音交流
Pipeline组件
上板部署
- AX650N 的设备已预装 Ubuntu22.04
- 以 root 权限登陆 AX650N 的板卡设备
- 链接互联网,确保 AX650N 的设备能正常执行 apt install, pip install 等指令
- 已验证设备:AX650N DEMO Board
Python API 运行
在python3.10(验证)
pipeline方案:ASR + LLM(Qwen) + MeloTTS
支持板端运行及算力卡模式运行
工程下载
git clone https://huggingface.co/AXERA-TECH/Spoken-Communication.axera 或者
hf download AXERA-TECH/Spoken-Communication.axera --local-dir Spoken-Communication.axera
cd Spoken-Communication.axera
工程目录文件结构如下:
.
|-- README.md
|-- ax_model
|-- ax_spoken_communication_demo.py
|-- config.json
|-- libaxllm
|-- libmelotts
|-- model.py
|-- requirements.txt
|-- utils
`-- input_question
具体流程
板端 demo
1、安装依赖库
1):
如果环境中没有axengine,下载安装,位置任意
hf download AXERA-TECH/PyAXEngine --local-dir PyAXEngine
cd PyAXEngine
pip3 install axengine-0.1.3-py3-none-any.whl
2):
cd Spoken-Communication.axera
pip3 install -r requirements.txt
3):
apt install espeak 或者
sudo apt install espeak
2、模型下载
主目录下执行命令:
hf download AXERA-TECH/Qwen2.5-1.5B-Instruct --local-dir libaxllm --include qwen2.5-1.5b-ctx-ax650/*
模型下载至libaxllm文件夹
3、在开发板运行以下命令
1)、运行qwen api
cd libaxllm
启动支持上下文的 tokenizer 服务器
python3 qwen2.5_tokenizer_uid.py
运行
sh run_qwen2.5_1.5b_ctx_ax650_api.sh
2)、运行pipeline板端demo
cd ..
python3 ax_spoken_communication_demo.py --audio_dir input_question --output_dir output_answer --api_url http://10.126.29.158:8000
运行参数说明:
| 参数名称 | 说明|
|-------|------|
| `--audio_dir` | 音频路径 |
| `--api_url` | qwen API服务地址,对应其运行服务器 |
| `--output_dir` | 结果保存路径 |
输出:
1)输入音频相对应的wav文件,2)识别信息"output_answer/processing_summary.txt"
如下:
批量处理结果汇总
文件 1: Q1.wav
原始文本: 人工智能和人类智能最本质的区别是什么?。
回答结果: 人工智能和人类智能最本质的区别在于,人工智能是基于算法和数据进行学习和决策的机器智能,而人类智能是基于经验和直觉进行思考和决策的生物智能。
合成音频: Q1_answer.wav
处理时间: 8.22 秒
音频时长: 15.19 秒
RTF: 0.54
文件 2: Q2.wav
原始文本: 人工智能没有思想,为什么他能创作出震撼人心的艺术?。
回答结果: 人工智能创作艺术是因为它可以通过算法和数据进行学习和分析,理解艺术作品的风格、情感和意义,然后通过生成模型进行创作。这与人类艺术家创作艺术的灵感、经验和直觉不同,但人工智能在某些领域已经表现出超越人类的能力。
合成音频: Q2_answer.wav
处理时间: 9.43 秒
音频时长: 23.68 秒
RTF: 0.40
文件 3: Q3.wav
原始文本: 人工智能最终会统治人类吗?。
回答结果: 人工智能的发展可能会对人类社会产生重大影响,但目前来看,人工智能尚未达到能够统治人类的程度。人工智能主要是在特定任务上表现出色,如数据分析、图像识别等,但在决策、伦理和情感理解等方面仍存在局限。
合成音频: Q3_answer.wav
处理时间: 8.86 秒
音频时长: 22.62 秒
RTF: 0.39
总计: 3 个文件
总处理时间: 26.53 秒
4、Latency
AX650N
RTF: 约为0.4,如上例。
算力卡demo
运行步骤与板端demo大致相同,以aarch64环境为例:
1、运行qwen api
cd libaxllm
启动支持上下文的 tokenizer 服务器
python3 qwen2.5_tokenizer_uid.py
运行对应环境的api
sh run_qwen2.5_1.5b_ctx_axcl_aarch64_api.sh
2、运行pipeline算力卡demo
cd ..
python3 ax_spoken_communication_demo.py --audio_dir input_question --api_url http://10.126.33.13:8000 --output_dir output
x86环境运行步骤同上
参考
技术讨论
- Github issues
- QQ 群: 139953715
- Downloads last month
- 13
Model tree for AXERA-TECH/Spoken-Communication.axera
Base model
FunAudioLLM/SenseVoiceSmall