流式 ASR 识别 (Linux)
介绍
本案例展示了如何通过 AidVoice SDK 实现在 Linux 系统中流式实时识别麦克风传输过来的音频信息
- 设备:Rhino Pi-X1
- 麦克风:Jabra 捷波朗 410 会议扬声器
- 系统:Ubuntu 22.04
- 模型:SenseVoiceSmall
支持平台
| 平台 | 运行方式 |
|---|---|
| Rhino Pi-X1 | Ubuntu 22.04, AidLux |
准备工作
Rhino Pi-X1 硬件
Ubuntu 22.04 系统或 AidLux 系统
USB 麦克风准备
案例部署
步骤一:验证麦克风录音功能
接入 USB 麦克风
bash
# 检查是否识别到 USB 麦克风
lsusb
# 会出现如下输出
# aidlux@kalama:~$ lsusb
# Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
# Bus 001 Device 002: ID 0b0e:0412 GN Netcom Jabra SPEAK 410 USB
# Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# 麦克风录音
sudo arecord -D plughw:1,0 -d 5 output.wav
# 安装采样率转换工具
sudo apt update
sudo apt install sox libsox-fmt-all
# 转换采样率(使用的麦克风是 48 k 采样率)
sudo sox output.wav -r 48000 output48k.wav
# 播放录音
sudo aplay -D plughw:1,0 output48k.wav提示
该步骤的麦克风检查仅针对 Jabra 捷波朗 410 会议扬声器,其他麦克风需要根据具体录音和播放采样率来调整测试命令
步骤二:安装 AidVoice SDK
bash
# 安装AidLite QNN 2.36版本
sudo aid-pkg update
sudo aid-pkg install aidlite-sdk
sudo aid-pkg install aidlite-qnn236
# 安装 AidVoice SDK
sudo aid-pkg -i aidvoice-sdk步骤三:测试代码编译
bash
# 拷贝测试代码
cp -r /usr/local/share/aidvoice/examples /home/aidlux/aidvoice
# 编译
cd /home/aidlux/aidvoice/asr/cpp/
mkdir -p build && cd build
cmake ..
make步骤四:运行例子
bash
./test_stream通过麦克风说话,可以看到如下输出:

提示
语音识别效果与设备收音、降噪、模型能力相关,该 Demo 仅展示实时流式识别的模型性能