Powered by Contact us:contact@hangrylabs.app
Melo TTS icon

Melo Text to Speech

Inference startingWaiting for inference service
UI v1.0.2-SNAPSHOT2026-10-28 16:36 UTC · 9855768d5a98
Text
0 characters
Experimental

SSML input

SSML is used only while the orange SSML mode is active. Plain text remains the default. Melo can switch loaded language models and speakers between dialogue turns.

<speak>
  <voice name="EN-Newest">Good morning.</voice>
  <break time="250ms"/>
  <voice name="ES">
    <prosody speed="0.9" pitch="-1st">Buenos dias.</prosody>
  </voice>
</speak>
<voice name="EN-Newest">...</voice>Switch to any speaker currently shown by the Voices endpoint. The speaker selects its native language model unless a language is explicitly nested.
<lang xml:lang="es-ES">...</lang>Switch language models while retaining the current speaker. The speaker must exist in that model; use voice for reliable multilingual dialogue.
<prosody speed="0.9" pitch="+2st" tempo="1.05" volume="0.9">...</prosody>Style one segment. Omitted or blank values inherit unchanged.
<break time="500ms"/>Set the complete pause at this boundary, up to 10 seconds. Use 0ms for no gap; adjacent turns use 100ms.
<sub alias="spoken text">label</sub>Speak the alias instead of the visible label.
<say-as interpret-as="characters">API</say-as>Read characters separately.
<say-as interpret-as="number">42</say-as>Read a numeric value normally.
<say-as interpret-as="ordinal">3</say-as>Read an English ordinal. This is limited to English models.

Prosody ranges are speed and tempo 0.5-2, pitch -12st to +12st, and volume 0-2. Nested values compose with request controls and must remain in range. Complete-file normalization remains request-wide. One speak root is required. Documents are limited to 50,000 characters, 256 elements, and eight nesting levels. Breaks are limited to 10 seconds each and 30 seconds total. Unsupported markup, unsafe XML, and direct phoneme input are rejected.

Optional online download

Enable language pack

The first download requires an internet connection. Model files are stored under /app/persistent; mount the documented Docker volume to keep them across container and image upgrades.

Review upstream model terms