流式 TTS 输出 (Linux)
介绍
本案例展示了如何通过 AidVoice SDK 实现在 Linux 系统中流式实时语音合成并播放音频。
- 设备:Rhino Pi-X1
- 麦克风:Jabra 捷波朗 410 会议扬声器
- 系统:Ubuntu 22.04
- 模型:MeloTTS-English
支持平台
| 平台 | 运行方式 |
|---|---|
| Rhino Pi-X1 | Ubuntu 22.04, AidLux |
准备工作
Rhino Pi-X1 硬件
Ubuntu 22.04 系统或 AidLux 系统
USB 麦克风准备
案例部署
步骤一:安装 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
# 获取 MeloTTS-English
mms get -m MeloTTS-English -p fp16 -c qcs8550 -b qnn2.31 -d /home/aidlux/melotts-english
cd /home/aidlux/melotts-english
unzip melotts_en_woman_qcs8550_qnn231_fp16_aidlite.zip步骤三:测试代码编译
bash
# 拷贝测试代码
cp -r /usr/local/share/aidvoice/examples /home/aidlux/aidvoice
# 编译
cd /home/aidlux/aidvoice/tts/cpp/
mkdir -p build && cd build
cmake ..
make步骤四:麦克风 ID 确认
接入 USB 麦克风
bash
cd /home/aidlux/aidvoice/tts/cpp/
sudo ./test_tts -c可以看到如下输出,Jabra SPEAK 410 USB 的 ID 为 15
bash
found 16 capture devices:
- Capture device #0: 'kalama-qrd-snd-card, '
- Capture device #1: 'kalama-qrd-snd-card, (2)'
- Capture device #2: 'kalama-qrd-snd-card, (3)'
- Capture device #3: 'kalama-qrd-snd-card, (4)'
- Capture device #4: 'kalama-qrd-snd-card, (5)'
- Capture device #5: 'kalama-qrd-snd-card, (6)'
- Capture device #6: 'kalama-qrd-snd-card, (7)'
- Capture device #7: 'kalama-qrd-snd-card, (8)'
- Capture device #8: 'kalama-qrd-snd-card, (9)'
- Capture device #9: 'kalama-qrd-snd-card, (10)'
- Capture device #10: 'kalama-qrd-snd-card, (11)'
- Capture device #11: 'kalama-qrd-snd-card, (12)'
- Capture device #12: 'kalama-qrd-snd-card, (13)'
- Capture device #13: 'kalama-qrd-snd-card, (14)'
- Capture device #14: 'kalama-qrd-snd-card, (15)'
- Capture device #15: 'Jabra SPEAK 410 USB, USB Audio'步骤五:运行例子
bash
cd /home/aidlux/aidvoice/tts/cpp/build
# -m 模型路径
# -i 麦克风 ID
sudo ./test_tts -m /home/aidlux/melotts-english/model_farm_melotts_en_woman_qcs8550_qnn231_fp16_aidlite/models -i 15