File size: 1,857 Bytes
922ef85 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | ---
license: apache-2.0
tags:
- qhexrt
- melotts
- tts
- hexagon
- npu
- qnn
language:
- en
pipeline_tag: text-to-speech
---
# MeloTTS-EN — QHexRT NPU bundle (Hexagon v79)
Precompiled **MeloTTS English** text-to-speech for the **QHexRT** runtime on Qualcomm Hexagon **v79**
(Snapdragon 8 Elite / SM8750, e.g. Galaxy S25). The 3 acoustic graphs (encoder → flow → decoder) are
Qualcomm AI Hub `qnn_context_binary` graphs; the g2p frontend + duration alignment + vocoder windowing
are QHexRT's own host pipeline. Device-validated: text → 44.1 kHz mono audio.
Measured on S25/v79: ~1.0 s to synthesize 4.56 s of speech (≈4.5× real-time).
## Contents (`v79/`)
| file | what |
|------|------|
| `melotts-en.json` | QHexRT manifest (TTS family, `tts_synthesize` plan) |
| `melo_encoder.bin` | text/phoneme encoder (→ durations + priors) |
| `melo_flow.bin` | flow (normalizing-flow latent) |
| `melo_decoder.bin` | vocoder/decoder (→ waveform) |
| `melo_tokens.txt` | phoneme token table (g2p) |
| `melo_lexicon.txt` | open pronunciation lexicon (g2p) |
## Run (QHexRT CLI)
```bash
huggingface-cli download runanywhere/melotts_en_HNPU --local-dir melotts_en_HNPU
# QNN libs come from the QAIRT SDK (lib/aarch64-android) + the v79 HTP skel; push them next to qhx_say.
adb push melotts_en_HNPU/v79 /data/local/tmp/wq/melotts
adb shell "cd /data/local/tmp/wq && LD_LIBRARY_PATH=. ADSP_LIBRARY_PATH=. \
./qhx_say melotts/melotts-en.json libQnnHtp.so libQnnSystem.so melotts 'Hello from Hexagon.' melotts/out.wav"
# -> melotts/out.wav (44.1 kHz mono)
```
## Notes
- Arch: **v79** only (context binaries are dsp-arch-pinned).
- No custom op-package needed — pure-native AI Hub graphs.
- v1: no BERT prosody (ja_bert=0). English only.
- Source: MeloTTS-EN, compiled via Qualcomm AI Hub for `qualcomm-snapdragon-8-elite-for-galaxy`.
|