Streaming TTS Output (Linux)
Introduction
This case study demonstrates how to use the AidVoice SDK to implement real-time streaming speech synthesis and audio playback on a Linux system.
- Device: Rhino Pi-X1
- Speaker: Jabra SPEAK 410 Conference Speaker
- System: Ubuntu 22.04
- Model: MeloTTS-English
Supported Platforms
| Platform | Execution Method |
|---|---|
| Rhino Pi-X1 | Ubuntu 22.04, AidLux |
Prerequisites
Rhino Pi-X1 hardware.
Ubuntu 22.04 system or AidLux system.
USB speaker/microphone setup.
Case Deployment
Step 1: Install AidVoice SDK
bash
# Install AidLite QNN version 2.36
sudo aid-pkg update
sudo aid-pkg install aidlite-sdk
sudo aid-pkg install aidlite-qnn236
# Install AidVoice SDK
sudo aid-pkg -i aidvoice-sdkStep 2: Model Acquisition
bash
# Obtain 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.zipStep 3: Test Code Compilation
bash
# Copy test code
cp -r /usr/local/share/aidvoice/examples /home/aidlux/aidvoice
# Compile
cd /home/aidlux/aidvoice/tts/cpp/
mkdir -p build && cd build
cmake ..
makeStep 4: Confirm Device ID
Plug in the USB speaker/microphone.
bash
cd /home/aidlux/aidvoice/tts/cpp/
sudo ./test_tts -cYou should see output similar to the following, where the ID for "Jabra SPEAK 410 USB" is 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'Step 5: Run the Example
bash
cd /home/aidlux/aidvoice/tts/cpp/build
# -m model path
# -i device ID
sudo ./test_tts -m /home/aidlux/melotts-english/model_farm_melotts_en_woman_qcs8550_qnn231_fp16_aidlite/models -i 15