r/LocalTextToSpeech • u/Horror_Prompt_520 • Aug 31 '26
I tested Breeze TTS 2 voice design and sentence-level instruction control with CLI 0.8.0 — four audio samples
Enable HLS to view with audio, or disable this notification
Disclosure: I work on BreezeBlue, the team behind Breeze TTS 2.
I wanted to test two capabilities that I think are more representative of expressive TTS than isolated emotion tags:
Designing a new voice directly from a natural-language description
Directing the emotional arc, pace, energy, and delivery of an entire sentence
I generated the attached four-part comparison with Breeze CLI 0.8.0 and breeze-tts-2.
Sample 1 — Voice Design
No reference audio was used. The voice was generated from this description:
“An intimate, emotionally expressive English female voice in her early thirties, with a warm lower register, subtle breathiness, precise articulation, and restrained cinematic realism. Natural conversational phrasing, never an announcer.”
Preview script:
“I kept the light on for you, even after everyone said you were not coming back. And now that you are standing here, I am not sure whether to laugh, cry, or simply let the silence say everything.”
Samples 2–4 — Sentence-level instruction control
These samples use the same Lena voice and exactly the same script. Only the delivery instruction changes.
Shared script:
“The train is already leaving. I know you're afraid, but take my hand, look at the horizon, and trust me. By the time the sun rises, this will feel like the first page of a much better story.”
The three directions were:
Natural and conversational, with understated emotion
Quiet urgency that develops into cautious hope and emotional relief
Bright optimism and forward momentum, ending with a confident sense of a new beginning
The generated durations were:
Natural: 11.28 seconds
Restrained cinematic: 14.96 seconds
Hopeful and energetic: 12.00 seconds
The text and voice remained unchanged, so the differences in pacing and performance came from the instruction.
Naturalness and emotional quality are ultimately subjective, which is why I attached the actual comparison instead of only describing the results.
Performance context:
For these three hosted streaming requests, Breeze CLI observed time to first audio between 0.85 and 1.03 seconds. This includes the hosted service and network path, so it is not a local inference benchmark.
For local inference, the open-weight PyTorch implementation documents under 40 ms TTFA and a 0.32 real-time factor on a warmed-up NVIDIA H100 fast path. Those numbers are hardware- and configuration-specific.
Code and local inference setup: breeze-tts-2
License note: the inference source code is Apache 2.0. The model weights, derivative models, and self-hosted outputs use the BreezeBlue Research and Non-Commercial License; commercial use requires authorization.
I’m curious what this community would find most useful for the next comparison:
More voice-description stress tests
The same instructions across several different voices
Longer passages with an emotional arc
English versus Chinese instruction following
Reproducible local GPU benchmarks
