Skip to content

PocketTTS: a sentence that must be cut is cut between words although a dash is available #934

Description

@arvindvenkataramani

Summary

When FluidAudio has to cut a sentence to fit the 50-token chunk limit, it often cuts between two words although better places are available, and a cut between words is heard as a pause in the middle of a phrase. In listening tests with a cloned voice, a cut at a comma could not be heard, because a speaker pauses there anyway, and a cut between words always could.

With ‖ marking the cuts, the sentence in the steps below is spoken as:

The humidity feels comfortable despite the approaching storm, ‖ and the air carries that distinctive electric charge that precedes rain — a mix of ozone and wet soil that makes everything feel fresh and alive before the first drops hit ‖ the pavement.

The second cut strands "the pavement." as a chunk of its own, although the sentence has a dash a few words earlier, where a speaker would pause.

Steps to reproduce

fluidaudiocli tts --backend pocket --voice alba --seed 42 -o pavement.wav --text "The humidity feels comfortable despite the approaching storm, and the air carries that distinctive electric charge that precedes rain — a mix of ozone and wet soil that makes everything feel fresh and alive before the first drops hit the pavement."

Listen for the pause before "the pavement".

Environment

FluidAudio main @ b68f4847, FluidInference/pocket-tts-coreml v2.1 English. macOS 26.6.2, M4 Max.

Why this matters

Sentences over 50 tokens are ordinary, so these cuts occur in most paragraphs. This is a small improvement that needs no model change, independent of the larger-cache request in #933.

Related

#931 (fix in #932) corrects the token counts that cut placement depends on. #584 (closed) changed how the pieces of a cut sentence are normalized and added a fix for a one-word tail.


Notes — by Claude Code

Written by Claude Code, an AI assistant working with the reporter. Checked against the chunker's output on b68f4847.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions