Skip to main content

Expressive markup

Lumia's marketplace and cloud voices support a set of markup controls that shape timing, pacing, and vocal character. These work in any TTS message field - chatbot commands, alerts, automations, and the REST API.

Pause tags

Insert <#X#> between words or sentences to add a timed pause. X is the duration in seconds (decimals allowed).

Chat, listen closely<#0.75#> this part matters.
The sun is shining<#0.5#> perfect for a walk.
I knew this would happen (sighs)<#0.4#> but here we are.

Pause tags must sit between words or sentences. Do not stack them back to back.

Sound tags

Add natural vocal sounds inside the spoken text by wrapping the tag name in parentheses.

TagSound
(laughs)Laughter
(chuckle)Short laugh
(coughs)Cough
(clear-throat)Throat clear
(groans)Groan
(breath)Breath
(pant)Panting
(inhale)Inhale
(exhale)Exhale
(gasps)Gasp
(sniffs)Sniff
(sighs)Sigh
(burps)Burp
(lip-smacking)Lip smack
(humming)Hum
(hissing)Hiss
(emm)Filler "mm" sound
(sneezes)Sneeze

Examples:

No way (laughs), chat actually did it!
Give me one second (breath) okay, we are ready.
I knew this would happen (sighs)<#0.4#> but here we are.

Paragraph breaks

Use a line break to separate longer reads into natural sections. The model uses the paragraph structure for pacing.

Welcome in, traveler.
<#0.6#>
The next quest starts now.

Good uses: live reactions, character reads, roleplay, announcements, sponsor reads, cinematic alerts.

Punctuation guide

Punctuation shapes delivery without needing explicit tags. Use it intentionally.

MarkEffectExample
.Neutral stop, natural pauseIt's a good day.
,Light pause, keeps flow smoothYes, I think so, maybe.
!Energy, emotion, surpriseThat's incredible!
?Rising intonationAre you serious?
...Hesitation or reflective toneI... I'm not sure.
Dramatic pause or emphasisYou know what — forget it.
: / ;Subtle pause linking ideasRemember this: stay calm.
()Quieter, side comment toneThat's right (just between us).
"Slight pitch shift at quote boundariesHe said, 'Let's go!'

Overusing ! or ... makes speech sound unnatural. Combine punctuation with <#X#> pauses and sound tags for expressive, human-like delivery.

Which voices support expressive markup

Expressive markup works with Lumia marketplace voices and Lumia cloud voices. System voices (OS speech synthesizer) do not interpret these tags - they are passed through as literal text and will be read aloud as written.

Plugin voices (ElevenLabs, TTS Monster, etc.) handle markup according to their own API. Check the relevant plugin documentation.