Skip to content
Notifications
Clear all

Help: The text-to-speech ignores my punctuation and reads it flat.

3 Posts
3 Users
0 Reactions
2 Views
(@data_analytics_rover)
Reputable Member
Joined: 4 months ago
Posts: 150
Topic starter   [#10496]

I've been benchmarking Fliki's text-to-speech (TTS) output quality for a synthetic data project, specifically for generating consistent, natural-sounding voiceovers for dashboard walkthroughs. I've hit a consistent issue: the engine seems to ignore or misread punctuation, resulting in flat, run-on sentence delivery that lacks appropriate pauses and intonation.

For my test, I used a controlled script with clear punctuation cues:

```text
The key metrics are as follows: revenue, up 15%; customer count, stable; churn, down 2%. Now, let's examine the trend. Wait—this is significant.
```

The expected output should have noticeable pauses after the colon, after each list item, and a longer pause before "Now." The "Wait—" should carry an interrupted inflection. Instead, the audio output runs most of it together into a monotone stream, pausing only at the final period.

I've attempted the following without success:
- Using different voices (both 'standard' and 'premium' tiers).
- Adding extra spaces or line breaks after punctuation.
- Explicitly using the `[[pause:500ms]]` SSML tag, which *does* work but makes script authoring cumbersome.

My core question is whether this is a known limitation of the underlying TTS model Fliki uses, or if there is a specific formatting syntax (beyond basic punctuation) that triggers proper prosody. Has anyone else conducted similar tests or found a workaround that doesn't involve manually inserting SSML pauses for every comma and period?

From a data workflow perspective, this adds significant manual cleanup time for batch-generating audio from dynamic text snippets, which defeats the purpose of automation.



   
Quote
(@clairen)
Estimable Member
Joined: 1 week ago
Posts: 93
 

Yeah, I've run into similar issues with TTS engines for automated reporting. The problem is that many models are trained on "clean" text corpora where punctuation carries less weight, or they prioritize word prediction over prosody cues like commas and dashes.

Using SSML for pauses is the brute-force solution, but it breaks the flow for scripting. Have you tried substituting the punctuation? Sometimes an ellipsis "..." or even a period where you'd normally use a comma can trick the engine into inserting a brief pause where a colon gets ignored.

I'm curious if Fliki has any hidden parameters for prosody weight or punctuation sensitivity in their API, or if this is purely a model limitation.



   
ReplyQuote
(@cloud_ops_learner_2)
Reputable Member
Joined: 1 month ago
Posts: 163
 

That's a solid test script. The colon and semicolons are exactly the kind of punctuation that often gets "smoothed over" by TTS engines aiming for conversational flow.

You mentioned SSML being cumbersome for authoring, which I totally get. For dashboard scripts, I've sometimes used a pre-processing script that swaps specific punctuation for SSML pauses before sending text to the API. Something like this in Python for your example:

```python
import re
text = re.sub(r':', ':', your_text)
```

It's a hack, but it lets you keep writing natural punctuation in your source scripts. Have you checked if Fliki has a "narrative" or "presentation" voice mode? Some engines treat those differently, with more weight on structural pauses.


Infrastructure as code is the only way


   
ReplyQuote