Skip to main content
Paralinguistic tags are native to Chatterbox Turbo, allowing you to insert natural non-speech sounds directly into your text. These tags add realism and expressiveness to voice agent conversations and narration.
Paralinguistic tags are only available in Chatterbox Turbo. They are not supported in the standard Chatterbox or multilingual models.

Available Tags

Chatterbox Turbo supports the following paralinguistic tags:
Use [laugh] to insert a full laugh into the speech. This creates a natural laughing sound.
text = "That's the funniest thing I've heard all day! [laugh]"
wav = model.generate(text)
Best for: Moments of genuine amusement or humor
Use [chuckle] to insert a softer, more subdued laugh. This is less pronounced than [laugh].
text = "Yeah, I know what you mean [chuckle], it happens to everyone."
wav = model.generate(text)
Best for: Light amusement, friendly conversation, or acknowledging irony
Use [cough] to insert a coughing sound.
text = "Sorry about that [cough], as I was saying..."
wav = model.generate(text)
Best for: Adding realism to character dialogue or simulating natural speech interruptions

Using Tags in Context

You can place tags anywhere in your text where you want the sound to occur. The model will naturally blend the paralinguistic sound with the surrounding speech.

Mid-Sentence Placement

text = "Hi there, Sarah here from MochaFone calling you back [chuckle], have you got one minute to chat about the billing issue?"
wav = model.generate(text)
This example is taken directly from the Turbo model documentation and creates a friendly, conversational tone.

End of Sentence

text = "Oh, that's hilarious! [chuckle] Um anyway, we do have a new model in store."
wav = model.generate(text)

Multiple Tags

You can use multiple tags in the same text:
text = "Sorry [cough], excuse me. That's actually pretty funny [laugh]. Anyway, where were we?"
wav = model.generate(text)

When to Use Each Tag

Natural Conversation: Paralinguistic tags shine in voice agent applications where natural, human-like conversation is essential. Use them sparingly for maximum impact.

[laugh]

  • Strong humor or jokes
  • Moments of genuine amusement
  • Character expressing joy
  • After punchlines
Example:
text = "And then the customer said they'd been waiting on hold for three years! [laugh]"

[chuckle]

  • Friendly, warm conversation
  • Light humor
  • Acknowledging a minor mishap
  • Professional but personable tone
  • Self-deprecating humor
Example:
text = "I totally understand, technology can be tricky [chuckle]. Let me help you with that."

[cough]

  • Adding realism to long-form narration
  • Character is unwell or clearing throat
  • Creating authentic human imperfection
  • Simulating natural interruptions
Example:
text = "Sorry about that [cough]. Let me get you those account details."

Real Examples from Source Code

Here are actual examples from the Chatterbox Turbo example files:

Customer Service Example

text = "Hi there, Sarah here from MochaFone calling you back [chuckle], have you got one minute to chat about the billing issue?"
wav = model.generate(text, audio_prompt_path="your_10s_ref_clip.wav")
From: example_tts_turbo.py (line 8)

Sales Conversation Example

text = "Oh, that's hilarious! [chuckle] Um anyway, we do have a new model in store. It's the SkyNet T-800 series and it's got basically everything. Including AI integration with ChatGPT and all that jazz. Would you like me to get some prices for you?"
wav = model.generate(text)
From: example_tts_turbo.py (line 9)

Complete Usage Example

import torchaudio as ta
from chatterbox.tts_turbo import ChatterboxTurboTTS

# Load the Turbo model
model = ChatterboxTurboTTS.from_pretrained(device="cuda")

# Generate with paralinguistic tags
text = "Oh, that's hilarious! [chuckle] Um anyway, we do have a new model in store."
wav = model.generate(text, audio_prompt_path="reference.wav")

# Save the output
ta.save("output_with_tags.wav", wav, model.sr)

Best Practices

Do:

✓ Use tags sparingly - Too many can sound unnatural ✓ Place tags where they make conversational sense ✓ Match tags to the emotional tone of your text ✓ Test different placements to find what sounds most natural ✓ Use [chuckle] for professional but friendly tones

Don’t:

✗ Overuse tags in every sentence ✗ Mix incompatible emotions (e.g., [laugh] in serious statements) ✗ Use multiple identical tags in a row ✗ Place tags in the middle of words ✗ Expect tags to work with non-Turbo models

Tag Syntax

Tags are case-sensitive and must be written in lowercase with square brackets:
# Correct
"Hello [chuckle] there"

# Incorrect - these won't work
"Hello [Chuckle] there"  # Wrong: capitalized
"Hello (chuckle) there"  # Wrong: parentheses instead of brackets
"Hello [CHUCKLE] there"  # Wrong: all caps

Model Compatibility

ModelParalinguistic Tags Supported
Chatterbox Turbo✅ Yes
Chatterbox❌ No
Chatterbox Multilingual❌ No
If you try to use paralinguistic tags with the standard Chatterbox or multilingual models, the tags will be treated as regular text and spoken aloud rather than converted to sounds.

Use Cases

Voice Agents

Paralinguistic tags are ideal for conversational AI and voice agents:
# Customer service agent
text = "I completely understand your frustration [chuckle], let's get this sorted out for you right away."

# Sales agent  
text = "That's a great question! [chuckle] Let me pull up those details for you."

# Support agent
text = "Sorry about that [cough], technical difficulties. Now, about your account..."

Narration

Add character and personality to narration:
text = "The hero looked at the dragon and said, 'Is that your final answer?' [chuckle]"

Audiobook Production

Create more engaging audiobook content:
text = "The author notes here [chuckle] that this was completely unintentional."

Performance Considerations

Paralinguistic tags are processed natively by the Turbo model and don’t significantly impact generation speed. They’re part of the model’s training and work seamlessly with the text.

Future Tags

Currently, Chatterbox Turbo supports [laugh], [chuckle], and [cough]. The README mentions “and more,” suggesting additional tags may be added in future releases. Check the official repository for updates.

Build docs developers (and LLMs) love