--- 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`.