<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu" -->

---
title: Emotional Text-to-Speech: Fix Flat Delivery with...
description: Deepgram explains why voice agents sound robotic: it&#x27;s usually the delivery register (pitch range and pacing), which stays fixed for a whole session, not the...
canonical: https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Emotional Text-to-Speech: Fix Flat Delivery with Expressivity | daily.dev
og:description: Deepgram explains why voice agents sound robotic: it&#x27;s usually the delivery register (pitch range and pacing), which stays fixed for a whole session, not the...
og:url: https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu
og:image: https://api.daily.dev/og/posts/LnWmsEqQU.png
og:image:alt: Emotional Text-to-Speech: Fix Flat Delivery with Expressivity
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Emotional Text-to-Speech: Fix Flat Delivery with Expressivity

**[Deepgram](https://daily.dev/sources/deepgram)** · 12 min read · 0 upvotes · 0 comments

## Summary

Deepgram explains why voice agents sound robotic: it's usually the delivery register (pitch range and pacing), which stays fixed for a whole session, not the underlying model. Flux TTS exposes an expressivity parameter from -2 (calm) to 2 (animated), defaulting to 0, the only value validated for production; non-default values raise hallucination and mispronunciation risk. The parameter is set once per connection (query param on WebSocket/batch endpoints, or agent.speak.provider.expressivity in the Voice Agent API Settings message) and can't be changed mid-call - only mid-call speed adjustment is documented as forthcoming. Prosody carries across turns automatically. The parameter is beta and unavailable on Aura-2. Guidance maps calm values to support/IVR/healthcare use cases and animated values to consumer/outbound, while regulated flows should stay at default since only the default is validated.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://deepgram.com/learn/emotional-text-to-speech-expressivity-controls>

## Questions this post answers

### What does the expressivity parameter do in Deepgram's Flux TTS?

It sets the delivery register of synthesized speech on a scale from -2 (calm, steadier pacing, narrow pitch) to 2 (animated, widest pitch range, brighter pitch), with 0 as each voice's tuned default. It is set once when a connection opens and holds for the entire session; only the default value is validated for production, since non-default values raise hallucination and pronunciation-error risk.

_Configuring voice agent tone reliably is easier when you track TTS parameter changes like this on daily.dev._

### Can I change the expressivity setting in the middle of a live voice agent call?

No. Deepgram's own FAQ states expressivity cannot be changed mid-conversation because the value is fixed when the connection opens and holds for the session; changing it requires reconnecting, which also resets the prosody state carried across turns. A separate mid-call speed adjustment feature (0.85 to 1.15 in 0.05 steps) is documented as forthcoming but not yet shipped.

_Developers building voice agents follow API limitations like this via daily.dev before they hit them in production._

### Is the expressivity parameter available on Deepgram's Aura-2 model?

No, expressivity only exists on Flux TTS; Aura-2's /v1/speak endpoint does not accept the parameter. In the Voice Agent API, expressivity requires setting agent.speak.provider.version to v2 and configuring agent.speak.provider.expressivity before opening the session.

_Comparing TTS provider capabilities is simpler when developers surface details like this through daily.dev._

## Similar posts on daily.dev

- [Batch Text-to-Speech Deep Dive: From One Speech Call to a Produced Show](https://daily.dev/posts/batch-text-to-speech-deep-dive-from-one-speech-call-to-a-produced-show-mank6swid) · Deepgram · 1 upvotes · 0 comments
- [Conversation Context for Voice Agents: Accuracy Guide](https://daily.dev/posts/conversation-context-for-voice-agents-accuracy-guide-nvai7bs4k) · Deepgram · 0 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#deep-learning](https://daily.dev/tags/deep-learning), [#text-to-speech](https://daily.dev/tags/text-to-speech), [#voice-ai](https://daily.dev/tags/voice-ai), [#deepgram](https://daily.dev/tags/deepgram)

[View this post on daily.dev](https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Emotional Text-to-Speech: Fix Flat Delivery with Expressivity","url":"https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu"},"datePublished":"2026-09-01T12:33:49.639Z","dateModified":"2026-09-01T12:34:19.001Z","description":"Deepgram explains why voice agents sound robotic: it's usually the delivery register (pitch range and pacing), which stays fixed for a whole session, not the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a044842c2877b34d46a0302d93ac3aea?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a044842c2877b34d46a0302d93ac3aea?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Deepgram","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Deepgram","logo":"https://media.daily.dev/image/upload/s--e63hOwKU--/f_auto/v1716188454/logos/deepgram","url":"https://daily.dev/sources/deepgram"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,deep-learning,text-to-speech,voice-ai,deepgram","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Deepgram","item":"https://daily.dev/sources/deepgram"},{"@type":"ListItem","position":3,"name":"Emotional Text-to-Speech: Fix Flat Delivery with Expressivity"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/emotional-text-to-speech-fix-flat-delivery-with-expressivity-lnwmseqqu#faq","mainEntity":[{"@type":"Question","name":"What does the expressivity parameter do in Deepgram's Flux TTS?","acceptedAnswer":{"@type":"Answer","text":"It sets the delivery register of synthesized speech on a scale from -2 (calm, steadier pacing, narrow pitch) to 2 (animated, widest pitch range, brighter pitch), with 0 as each voice's tuned default. It is set once when a connection opens and holds for the entire session; only the default value is validated for production, since non-default values raise hallucination and pronunciation-error risk. Configuring voice agent tone reliably is easier when you track TTS parameter changes like this on daily.dev."}},{"@type":"Question","name":"Can I change the expressivity setting in the middle of a live voice agent call?","acceptedAnswer":{"@type":"Answer","text":"No. Deepgram's own FAQ states expressivity cannot be changed mid-conversation because the value is fixed when the connection opens and holds for the session; changing it requires reconnecting, which also resets the prosody state carried across turns. A separate mid-call speed adjustment feature (0.85 to 1.15 in 0.05 steps) is documented as forthcoming but not yet shipped. Developers building voice agents follow API limitations like this via daily.dev before they hit them in production."}},{"@type":"Question","name":"Is the expressivity parameter available on Deepgram's Aura-2 model?","acceptedAnswer":{"@type":"Answer","text":"No, expressivity only exists on Flux TTS; Aura-2's /v1/speak endpoint does not accept the parameter. In the Voice Agent API, expressivity requires setting agent.speak.provider.version to v2 and configuring agent.speak.provider.expressivity before opening the session. Comparing TTS provider capabilities is simpler when developers surface details like this through daily.dev."}}]}
```

