Breath, Character, and Bandwidth
Domenic Ashburn · Aug 7, 2026
Measuring the limits of synthetic voice in guided meditation. A Sacred Act technical report, version 1.0.
Guided meditation places unusual demands on synthetic speech. A meditation is mostly silence, the silence is structural rather than incidental, and the voice must sound like a body in a room rather than a narrator in a booth. We ran three experiments against a production text-to-speech pipeline to ask what is actually achievable today.
We find that a single undocumented control token produces a genuine inhale where seven plausible alternatives produce nothing, that it does so about a quarter of the time, and that an objective acoustic measure separates usable breaths from failures in agreement with an expert listener. We find that subjective rejection of a voice divides into two axes, one of which is measurable and one of which is not, and that the unmeasurable axis dominates. We find that our own pipeline discards roughly 11 dB of high-frequency content before generation, upstream of any corrective processing.
We also report a hypothesis we expected to confirm and did not.
A note on what is disclosed. Methods, measurements, and findings are reported in full. Implementation specifics are not: control tokens are identified by role rather than quoted, voice-configuration values and processing curves are described by shape rather than specified, and the internal structure of the generation pipeline is summarized functionally. Everything needed to evaluate the reasoning is here. Everything that is ours to keep is not.
Key findings
-
One breath token of eight works. The other seven do nothing. The working token produces content 36 dB below speech level; the alternatives are indistinguishable from no token at all. It appears in no vendor documentation we could locate.
-
Breath generation succeeds about 25% of the time and cannot be steered. Across identical prompts, breath duration ranged from 0.08 s to 1.73 s, a spread of more than 20 times. Duration showed no relationship to the length of the phrase that followed.
-
Mid-band energy separates real breath from noise, in agreement with a human listener. Energy in the 700 Hz to 2.5 kHz band separated usable from unusable clips with no overlap, correctly classifying every clip an expert listener had already rated.
-
Negative result: voice-clone type does not explain breath failure. We predicted that professional voice clones, which the vendor documents as unoptimized for the current model, would underperform. They did not. Non-clone voices performed the same or slightly worse.
-
Subjective voice rejection is mostly not acoustic. Of eleven rejected voices, three were rejected for a measurable tonal property and seven for character. No signal processing addresses the second category.
-
Our pipeline requests audio at half the available bandwidth. Production requests a 24 kHz sample rate, imposing a 12 kHz ceiling. The same voice at 44.1 kHz carries 11.5 dB more energy above 11 kHz.
1. Motivation
Synthetic meditation voice has a recognizable quality that listeners notice and struggle to name. It is not usually a matter of pronunciation or prosody, both of which modern systems handle well. It is closer to an absence of embodiment: the sense that nothing is breathing.
Our generation pipeline already does substantial work that general-purpose synthesis does not. Scripts are scored for pause structure before synthesis, silence durations are resolved rather than left to the model, and the silence itself is not digital silence but room tone matched to the noise floor of the speech around it. Voice settings vary across the arc of a session rather than staying fixed.
What the pipeline does not do is breathe. Between segments there is room tone and nothing else. A listener experiences eight or sixty seconds of acoustically excellent nothing, then speech resuming from stillness. No person does this.
This report documents an attempt to find out whether that gap can be closed, and what else the measurement exercise turned up along the way.
2. Evaluation setup
2.1 Reporting conventions
We follow the structure now standard in frontier model documentation, notably Anthropic's system cards and OpenAI's system cards: findings stated before methodology, evaluation conditions given in enough detail to reproduce, negative results reported alongside positive ones, and a limitations section that names where our own evaluation falls short rather than where the subject does.
We depart from those documents in one respect. They evaluate a model. We evaluate a production decision. Several results below are properties of our pipeline rather than of any vendor's system, and we have tried to keep the distinction visible throughout.
2.2 System under test
| Component | Value |
|---|---|
| Synthesis model | eleven_v3 (general availability, March 2026) |
| Comparison model | eleven_multilingual_v2 (current production) |
| Primary voice | Our production guide voice, a professional voice clone |
| Comparison voices | 13 third-party voices, anonymized (see 2.4) |
| Output format | pcm_24000 (production), pcm_44100 and mp3_44100_128 (experimental) |
| Voice settings | The profile our pipeline uses for the deepest phase of a session: high stability, low style, reduced rate. Held identical across every voice compared. |
| Breath-generation settings | Low stability for maximum expressive range, otherwise default. |
2.3 Measurement method
All acoustic measurements were made with FFmpeg using band-limited RMS analysis. We report four measures.
| Measure | Definition | What it indicates |
|---|---|---|
| Mid-band energy | Mean level, 700 Hz to 2.5 kHz | Turbulent airflow. Present in real breath, absent in low-frequency noise. |
| Low-high spread | Mean level 80 to 700 Hz, minus mean level 3 to 9 kHz | Spectral tilt. A broadband breath is flat. Rumble is steeply tilted. |
| Boxiness | Mean level, 200 to 500 Hz | Low-mid congestion, the signature of broadcast processing. |
| Relative air | Mean level above 6 kHz, minus full-band mean | High-frequency content relative to overall level. |
Speech in our samples sits near -16 dB mean. Digital silence measures below -90 dB. Both figures are useful anchors when reading the tables that follow.
2.4 Human evaluation and anonymization
Subjective judgments come from a single expert listener, the designer of the product, evaluating fitness for one specific application. This is a real limitation and we return to it in section 7.
Third-party voices are anonymized as V01 through V14. They are commercially available voices produced by independent creators, and the character judgments below reflect suitability for guided meditation in our particular register. They are not assessments of voice quality, and a voice unsuited to our application may be excellent elsewhere. Our own production voice is identified because it is ours.
3. Experiment 1: Can a synthesis model be made to breathe?
3.1 Token discovery
We tested eight bracketed control tokens, each prepended to the same short line, generated on the same voice with identical settings. We measured mean energy in the first second of each clip. A clip where speech begins immediately measures near -16 dB. A clip containing a quiet inhale before speech measures far lower.
Following the convention used elsewhere in our reporting, tokens are identified by grammatical role rather than quoted. T2 is the only one of the eight that appears in vendor documentation.
| Token | First-second mean | Attenuation | Result |
|---|---|---|---|
| T1, bare inhalation verb | -52.4 dB | 36.0 dB | Audible inhale |
| T2, exhalation gesture | -24.9 dB | 8.5 dB | Present, too loud, wrong affect |
| T3, inhalation verb + rate adverb | -18.2 dB | 1.8 dB | No effect |
| T4, noun phrase, volume adjective | -17.6 dB | 1.2 dB | No effect |
| T5, respiration verb + depth adverb | -17.2 dB | 0.8 dB | No effect |
| T6, noun phrase, texture adjective | -16.9 dB | 0.5 dB | No effect |
| T7, phrasal respiration verb | -16.7 dB | 0.3 dB | No effect |
| T8, full clause | -16.7 dB | 0.3 dB | No effect |
| (no token) | -16.4 dB | baseline | Speech begins immediately |
The result is unusually clean. T1 produces content two orders of magnitude quieter than speech and well above the noise floor. The seven near-synonyms produce nothing distinguishable from an untagged generation. We could not locate T1 in any published token list.
T2, the one token we could verify as documented, does produce audio, but the gesture it names carries weariness or relief. It is the wrong gesture for a preparatory breath before instruction.
A constraint worth recording: tokens cannot be generated in isolation. A request whose text is empty after token stripping is rejected with 400 invalid_parameters. Harvesting a breath requires generating token plus speech and cutting the head off the result.
3.2 Reliability
We generated the identical prompt fourteen times and measured the duration of the pre-speech region.
Every generation produced something. Roughly half produced something too short to perceive. The distribution is bimodal: a cluster below 0.22 s and a scattered group between 0.64 s and 1.73 s, with almost nothing in between.
Breath depth does not track context. We varied the phrase following the token from 5 to 94 characters. A five-character line produced a 1.35 s breath. A ninety-four-character line produced 0.21 s. If the model were reasoning about breath physiology we would expect the opposite, since longer utterances require deeper inhalation. It is not reasoning about breath physiology.
Practical consequence. The token is a usable generator and an unusable runtime dependency. A breath that repeats twenty times in a meditation, deliberately placed at the threshold of audibility, cannot vary twentyfold in length. The correct architecture is to generate offline, curate, and place deterministically, treating the token as a factory rather than a live call.
3.3 An objective discriminator
Curation by ear does not scale. We asked whether the failures share a measurable property.
The expert listener rated six harvested breaths without access to any measurement. Three were rated usable and three were described as "static, not an inhale." We then measured all six.
| Clip | Listener rating | Mid-band | Spectral tilt | Peak position |
|---|---|---|---|---|
| B1 | Usable, cut off early | -55.8 dB | 4.8 dB | 77% |
| B3 | Usable, sharp | -56.5 dB | 2.8 dB | 60% |
| B6 | Best, full inhale | -55.4 dB | 2.9 dB | 29% |
| B2 | Static | -70.0 dB | 18.8 dB | 8% |
| B4 | Static | -72.9 dB | 12.7 dB | 88% |
| B5 | Static | -70.0 dB | 15.7 dB | 23% |
The separation is complete. Every usable clip carries mid-band energy near -56 dB. Every failure sits near -70 dB, roughly 15 dB lower, with a steeply tilted spectrum.
The physical explanation is straightforward. A real inhale is turbulent airflow through the glottis and mouth, which produces broadband noise including substantial mid-frequency content. The failures contain only low-frequency rumble. They are not quiet breaths. They are not breaths.
Proposed filter: accept when mid-band energy exceeds -62 dB and spectral tilt is under 6 dB. Applied to a later batch, this filter agreed with the listener on two of three clips they rated usable, rejecting one they would have kept. For an automated curation stage, erring toward rejection is the correct direction.
Peak position is a useful secondary signal. The listener described B1 as sounding "cut off mid-breath." Its amplitude peak sits at 77% of the clip, meaning the breath was still rising when it ended. A complete inhale peaks between roughly 25% and 40%. B6, the clip rated best, peaks at 29%.
A methodological warning. In an earlier assembly we selected a breath by median duration, on the assumption that duration proxies for quality. It does not. That selection produced a clip the listener identified immediately as static, invalidating a comparison we had to rebuild. Duration and quality are unrelated in this data.
3.4 Negative result: voice-clone type
The vendor documents professional voice clones as not fully optimized for the current model. Our production voice is a professional voice clone. We predicted this explained the failure rate and tested three voices of different provenance, six generations each.
| Voice | Type | Usable breaths |
|---|---|---|
| Our production guide | Professional clone | 2 / 6 |
| V10 | Vendor preset | 1 / 6 |
| V06 | Community, high quality | 1 / 6 |
The hypothesis is not supported. Non-clone voices performed the same or slightly worse. The failure rate is a property of the control token, not of voice provenance.
We report this because it changed a decision. Had we not tested it, we would likely have pursued a voice migration on the theory that it would improve breath reliability. It would not have.
4. Experiment 2: Can voice character be measured?
4.1 Setup
Fourteen voices generated the same three-sentence passage with identical settings on the current model. The expert listener rated each for suitability as a meditation guide, without measurements. We then measured all fourteen.
The listener's recurring complaint was that voices sounded like "radio": distant, processed, lacking presence. We tested whether that maps to a measurable property.
4.2 The tonal axis is measurable
It does, partially. Broadcast processing leaves a characteristic buildup in the 200 to 500 Hz region. The three voices the listener accepted are the three least congested in that band.
The three accepted voices occupy the least congested end of the range. Every voice rejected as "radio" sits at the congested end. The measure works.
4.3 The character axis is not measurable, and it dominates
It also fails, in an informative way. V11 and V09 are among the least congested voices measured and were both rejected, for reasons the listener described as "demanding" and "performative."
Sorting the eleven rejections by stated reason:
| Rejection category | Count | Listener's words | Measurable |
|---|---|---|---|
| Character and delivery | 7 | dramatic, commercial, documentary, demanding, performative | No |
| Tonal quality | 3 | radio, distant, lacks presence | Yes |
| (accepted) | 3 | good, better | n/a |
Seven of eleven rejections concern performance rather than spectrum. A voice that is dramatic is dramatic at every frequency. No filter, curve, or processing chain addresses it.
Implication for voice selection. Searching a larger voice library has limited expected value. Commercial voice libraries are populated by professional voice artists, and professional delivery is precisely what was rejected. The generalizable finding is that for a contemplative application, the selection bottleneck is performance style, and performance style is not searchable by acoustic filter.
A second, practical finding. Across the fourteen voices, the same passage at the same speed setting ranged from 10.0 s to 16.0 s, a 60% spread. Any system that fits generated speech to a duration budget carries a per-voice timing baseline, and that baseline must be recalibrated whenever the voice changes.
5. Experiment 3: How much fidelity is discarded before anyone listens?
5.1 The sample-rate ceiling
Our pipeline requests uncompressed PCM at 24 kHz. This is a reasonable default and it imposes a hard consequence: the Nyquist limit places an absolute ceiling at 12 kHz. Content above that is not attenuated. It is never generated.
The perceptual qualities described as presence, air, and intimacy live substantially between 8 and 14 kHz. We were requesting roughly half of that range.
The higher rate is available on our existing plan and carries 11.5 dB more energy above 11 kHz.
This finding orders the remaining work. A high-shelf boost applied to a 24 kHz file is largely amplifying noise floor, because there is little real content in that region to lift. Bandwidth must be corrected before equalization, not after.
The change is not trivial. A 24 kHz assumption is embedded across the assembler, the segment encoder, the streaming initialization segment, and a pre-generated silence library that would require regeneration. The work is mechanical rather than architectural.
5.2 Corrective equalization
We designed a curve targeting the measured difference between accepted and rejected voices. Its shape, in order: a low high-pass to clear subsonic content, a moderate cut centered in the congestion region identified in 4.2, a smaller cut roughly an octave above it to reduce nasal honk, a gentle lift in the articulation band, and a modest high shelf for air. No boost anywhere in the chain exceeds 3 dB. Exact frequencies, widths, and gains are internal.
| Voice | Low-mid, untreated | Low-mid, treated | Air, untreated | Air, treated |
|---|---|---|---|---|
| V06 | -20.7 dB | -24.2 dB | -26.2 dB | -22.5 dB |
| V08 | -23.8 dB | -27.9 dB | -20.5 dB | -17.1 dB |
| V01 | -22.9 dB | -26.3 dB | -20.4 dB | -17.2 dB |
| Our guide | -26.2 dB | -28.3 dB | -15.7 dB | -12.7 dB |
The curve moves every voice into the accepted range on the measure it targets.
Placement matters and is easy to get wrong. Equalization must run before loudness normalization, or the normalization stage partially undoes it. In a pipeline that produces both a downloadable file and a separately encoded streaming path, equalization must also be applied per segment rather than at final assembly, or streaming listeners receive untreated audio.
A second curve failed and is reported for completeness. A more aggressive variant included de-essing at moderate intensity. The de-esser over-worked and consumed the high shelf, leaving our own voice measurably darker than untreated: relative air moved from -15.7 dB to -18.8 dB despite a 3.5 dB boost being applied. Aggressive treatment is not monotonically better.
5.3 What processing cannot recover
Two of the three rejection categories are out of reach of any curve.
Dynamics. Voices trained on compressed source audio have learned compressed delivery. Equalization redistributes energy across frequency. It does not restore dynamic range. Upward expansion can in principle, but on synthetic speech it tends to expose artifacts rather than restore naturalness.
Character. Seven of eleven rejections. Equalization makes a broadcast voice less congested. It does not stop it announcing.
6. Provider landscape
We evaluated the alternatives before committing to further work within our current vendor.
| Current model | Newer model | TTS with instructions | Realtime speech-to-speech | Alternative vendor | |
|---|---|---|---|---|---|
| Exact pause control | our pipeline | our pipeline | our pipeline | not achievable | ours plus native |
| Verbatim script | yes | yes | yes | not guaranteed | yes |
| Emotional granularity | per section | per line | per line | per turn | per line |
| Custom voice identity | yes | yes | no | no | yes |
| Deterministic artifact | yes | more variable | yes | no | yes |
| Cost per 20-minute session | ~$0.36 once | ~$0.36 once | ~$0.18 once | ~$0.92 per play | ~$0.43 once |
Realtime speech-to-speech is not viable for composed meditation, on three independent grounds.
Silence. A realtime conversational model has no concept of a scored sixty-second pause. Its only silence parameter governs turn detection, which is a listening behavior. Extended dead air is a failure state such models are trained to avoid.
Fidelity to text. The published guidance for exact reproduction is to flag content as requiring verbatim repetition and instruct accordingly. That is a mitigation, not a guarantee. For a corpus containing attributed quotations it is insufficient.
Economics. Composed audio is generated once and served indefinitely. Realtime shifts the cost from creation to consumption. At approximately $0.92 per twenty-minute session, a daily practitioner would incur roughly $336 per year in synthesis alone.
There is a genuine product in realtime synthesis, namely a live interruptible conversational guide. It is a different feature with different economics and should be scoped as one.
7. Limitations
We consider this the most important section in the report.
Single evaluator. All subjective judgments come from one listener. There is no inter-rater reliability figure because there is no second rater. The acoustic discriminator in section 3.3 is validated against one person's ear, and the perfect separation we report could partly reflect that person's consistency rather than a general property of breath.
Small samples. The discriminator was derived from six clips. The reliability figure rests on fourteen generations, the voice-provenance comparison on six generations across three voices. These are order-of-magnitude estimates. A hit rate we state as roughly 25% could plausibly be 15% or 40%.
Circularity risk in the filter. We derived the mid-band threshold from clips the listener had already rated, then validated it on a small later batch. That is weak validation. The threshold should be re-derived on held-out data before it gates anything automatically.
One voice for most breath testing. Breath discovery ran almost entirely on our production voice. The token may behave differently elsewhere. Our provenance test used six generations per voice, which is enough to reject a strong hypothesis and not enough to characterize a weak one.
Undocumented behavior is unstable behavior. T1 appears in no vendor documentation we located. Undocumented behavior carries no compatibility guarantee and may change without notice. This is a further argument for treating it as an offline generator whose output we store, rather than a runtime dependency.
Listening conditions were not controlled. No standardized playback chain, no level matching across sessions, no blinding in the voice evaluation. The listener knew which voice was our own.
Measurement artifacts we caught, and by implication those we did not. Two errors were found and corrected during this work. An extraction filter silently zeroed every harvested clip, detected only because a downstream measurement read as digital silence. A high-pass measurement above the Nyquist frequency returned a meaningless value that would have overstated one result. Both were caught by cross-checking. We assume others were not.
Generalization is limited. These results describe one vendor, one model version, one application, in August 2026. The contemplative register is unusual and we would not expect the character findings in section 4.3 to transfer to narration, assistants, or dialogue.
8. What this changes
Breath is achievable, as an asset rather than a feature of the model. Generate offline with T1, screen automatically on mid-band energy, curate by ear, store per voice, and place deterministically against the pause score. The breath should ride inside an existing pause rather than extending it, which keeps duration budgeting untouched.
Bandwidth before equalization. The sample-rate ceiling is upstream of every processing decision and should be corrected first.
Voice selection is not a search problem. Since the dominant rejection criterion is performance style, and performance style is not acoustically searchable, the productive direction is producing a voice rather than finding one.
Test the hypothesis you are most confident about. The voice-provenance prediction was well-reasoned, grounded in vendor documentation, and wrong. It would have justified a migration that delivered nothing.
9. Future work
| Priority | Work | Rationale |
|---|---|---|
| High | Re-derive the breath filter on held-out data | Removes the circularity in section 3.3 |
| High | Migrate to 44.1 kHz generation | Upstream of all processing |
| High | Second evaluator for character ratings | Largest single limitation |
| Medium | Build the breath library and measure it in situ | Isolated clips are not the listening condition |
| Medium | Benchmark an alternative vendor with native per-utterance direction | Only untested serious option |
| Medium | Characterize token stability across voices and versions | Undocumented behavior needs monitoring |
| Low | Investigate dynamics restoration | Likely negative, worth bounding |
Appendix A: Reproducibility
All measurements used FFmpeg band-limited RMS via volumedetect after aformat=channel_layouts=mono.
| Measure | Filter chain |
|---|---|
| Mid-band | highpass=f=700,lowpass=f=2500 |
| Low band | highpass=f=80,lowpass=f=700 |
| High band | highpass=f=3000,lowpass=f=9000 |
| Boxiness | highpass=f=200,lowpass=f=500 |
| Relative air | highpass=f=6000 minus unfiltered |
| Onset detection | silencedetect=noise=-30dB:d=0.05, first silence_end |
Generation parameters. Breath: low stability, low style, T1 followed by a short sentence. Voice comparison: the deep-phase profile described in 2.2, held identical across voices, on the same three-sentence passage. Exact values are internal.
Classifier. Accept when mid-band mean exceeds -62 dB and low-minus-high spread is under 6 dB. Secondary check: amplitude peak between 25% and 40% of clip duration.
Appendix B: Full voice measurement data
Voices anonymized. Verdict categories: A accepted, T rejected on tonal grounds, C rejected on character, U unrated.
| Voice | Verdict | Full-band | Boxiness | Relative air | Crest |
|---|---|---|---|---|---|
| V13 | A | -17.1 | -26.3 | -24.5 | 16.3 |
| V12 | A | -20.8 | -26.2 | -23.0 | 20.0 |
| V11 | C | -21.7 | -26.1 | -14.9 | 18.6 |
| Our guide | A | -20.2 | -25.9 | -15.8 | 17.7 |
| V09 | C | -20.1 | -25.7 | -16.3 | 19.3 |
| V07 | C | -20.2 | -24.7 | -18.7 | 18.4 |
| V04 | C | -19.3 | -24.4 | -16.6 | 18.1 |
| V03 | C | -19.5 | -24.3 | -20.8 | 17.7 |
| V08 | T | -17.0 | -23.6 | -20.6 | 15.9 |
| V02 | C | -18.0 | -23.2 | -16.0 | 16.6 |
| V05 | C | -20.0 | -23.2 | -12.7 | 17.4 |
| V01 | T | -17.6 | -22.6 | -20.4 | 16.8 |
| V14 | U | -18.3 | -21.9 | -18.2 | 17.6 |
| V06 | T | -17.3 | -20.4 | -26.3 | 16.6 |
Small differences between the untreated figures here and those in section 5.2 reflect an intermediate re-encoding step in the equalization test and are within measurement tolerance.
This is a living document. Findings will be revised as the limitations in section 7 are addressed.
