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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

ComponentValue
Synthesis modeleleven_v3 (general availability, March 2026)
Comparison modeleleven_multilingual_v2 (current production)
Primary voiceOur production guide voice, a professional voice clone
Comparison voices13 third-party voices, anonymized (see 2.4)
Output formatpcm_24000 (production), pcm_44100 and mp3_44100_128 (experimental)
Voice settingsThe 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 settingsLow 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.

MeasureDefinitionWhat it indicates
Mid-band energyMean level, 700 Hz to 2.5 kHzTurbulent airflow. Present in real breath, absent in low-frequency noise.
Low-high spreadMean level 80 to 700 Hz, minus mean level 3 to 9 kHzSpectral tilt. A broadband breath is flat. Rumble is steeply tilted.
BoxinessMean level, 200 to 500 HzLow-mid congestion, the signature of broadcast processing.
Relative airMean level above 6 kHz, minus full-band meanHigh-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.

Breath token efficacyHorizontal bar chart of eight control tokens. T1 produces 36 decibels of attenuation below the untagged baseline. All seven others produce under 2 decibels, except T2 at 8.5 decibels.010203040dB below untagged baseline (higher is more breath)T1 bare inhalation verb36.0T2 exhalation gesture8.5T3 + rate adverb1.8T4 noun + volume adj.1.2T5 + depth adverb0.8T6 noun + texture adj.0.5T7 phrasal verb0.3T8 full clause0.3
Figure 1. Attenuation below the untagged baseline in the first second of generation. One token works. Seven do not.
TokenFirst-second meanAttenuationResult
T1, bare inhalation verb-52.4 dB36.0 dBAudible inhale
T2, exhalation gesture-24.9 dB8.5 dBPresent, too loud, wrong affect
T3, inhalation verb + rate adverb-18.2 dB1.8 dBNo effect
T4, noun phrase, volume adjective-17.6 dB1.2 dBNo effect
T5, respiration verb + depth adverb-17.2 dB0.8 dBNo effect
T6, noun phrase, texture adjective-16.9 dB0.5 dBNo effect
T7, phrasal respiration verb-16.7 dB0.3 dBNo effect
T8, full clause-16.7 dB0.3 dBNo effect
(no token)-16.4 dBbaselineSpeech 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.

Breath duration distributionHistogram of fourteen breath durations showing a bimodal distribution. Eight fall below the usability threshold of 0.45 seconds, six above, with a gap between.01234usability threshold, 0.45 s00.40.81.21.6breath duration (seconds)8 of 14 too short to hear6 usable
Figure 2. Breath duration across fourteen identical prompts. The distribution is bimodal with a gap, which is convenient for filtering and inconvenient for shipping.

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.

Acoustic separation of usable and unusable breathsScatter plot of mid-band energy against spectral tilt for six breath clips. The three clips rated usable cluster in the lower right with high mid-band energy and flat tilt. The three rated static cluster in the upper left. The groups do not overlap.accept regionB2 staticB4 staticB5 staticB1 usableB3 usableB6 best-75-68-61-54mid-band energy, 700 Hz to 2.5 kHz (dB)05101520spectral tilt, low minus high (dB)
Figure 3. Six clips, two measures, no overlap. The listener's ratings were made before any measurement was taken.
ClipListener ratingMid-bandSpectral tiltPeak position
B1Usable, cut off early-55.8 dB4.8 dB77%
B3Usable, sharp-56.5 dB2.8 dB60%
B6Best, full inhale-55.4 dB2.9 dB29%
B2Static-70.0 dB18.8 dB8%
B4Static-72.9 dB12.7 dB88%
B5Static-70.0 dB15.7 dB23%

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.

VoiceTypeUsable breaths
Our production guideProfessional clone2 / 6
V10Vendor preset1 / 6
V06Community, high quality1 / 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.

Low-mid congestion by voice and verdictBar chart of fourteen voices ordered by low-mid congestion. The three accepted voices sit at the least congested end, but two rejected-for-character voices sit alongside them, showing the measure does not fully predict acceptance.V13 accepted-26.3V12 accepted-26.2V11 character-26.1Our guide-25.9V09 character-25.7V07 character-24.7V04 character-24.4V03 character-24.3V08 tonal-23.6V02 character-23.2V05 character-23.2V01 tonal-22.6V14 unrated-21.9V06 tonal-20.4-20-22-24-26-28low-mid energy, 200 to 500 Hz (dB). Longer bar is less congested.
Figure 4. Accepted voices are shown solid, rejections for character at medium weight, rejections for tone at light weight. The measure orders the accepted voices correctly and still fails to predict two rejections.

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 categoryCountListener's wordsMeasurable
Character and delivery7dramatic, commercial, documentary, demanding, performativeNo
Tonal quality3radio, distant, lacks presenceYes
(accepted)3good, bettern/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.

High-frequency energy by requested sample rateTwo bars comparing energy above 11 kilohertz. The 24 kilohertz request yields minus 54.6 decibels. The 44.1 kilohertz request yields minus 43.1 decibels, 11.5 decibels more.-60-55-50-45-54.6 dB-43.1 dBpcm_24000current productionpcm_44100available, unused
Figure 5. Energy above 11 kHz, same voice and same passage. The difference is not processing loss. It is content that was never requested.

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.

Effect of corrective equalization on low-mid congestionSlope chart showing four voices before and after equalization. All four move toward or past the mean of the accepted voices.accepted-voice meanV06 -20.7V08 -23.8V01 -22.9Our guide -26.2-24.2-27.9-26.3-28.3untreatedafter de-radio curvelow-mid energy, 200 to 500 Hz (dB). Upward is less congested.
Figure 6. Every treated voice moves into or past the range occupied by voices the listener accepted.
VoiceLow-mid, untreatedLow-mid, treatedAir, untreatedAir, 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 modelNewer modelTTS with instructionsRealtime speech-to-speechAlternative vendor
Exact pause controlour pipelineour pipelineour pipelinenot achievableours plus native
Verbatim scriptyesyesyesnot guaranteedyes
Emotional granularityper sectionper lineper lineper turnper line
Custom voice identityyesyesnonoyes
Deterministic artifactyesmore variableyesnoyes
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

PriorityWorkRationale
HighRe-derive the breath filter on held-out dataRemoves the circularity in section 3.3
HighMigrate to 44.1 kHz generationUpstream of all processing
HighSecond evaluator for character ratingsLargest single limitation
MediumBuild the breath library and measure it in situIsolated clips are not the listening condition
MediumBenchmark an alternative vendor with native per-utterance directionOnly untested serious option
MediumCharacterize token stability across voices and versionsUndocumented behavior needs monitoring
LowInvestigate dynamics restorationLikely negative, worth bounding

Appendix A: Reproducibility

All measurements used FFmpeg band-limited RMS via volumedetect after aformat=channel_layouts=mono.

MeasureFilter chain
Mid-bandhighpass=f=700,lowpass=f=2500
Low bandhighpass=f=80,lowpass=f=700
High bandhighpass=f=3000,lowpass=f=9000
Boxinesshighpass=f=200,lowpass=f=500
Relative airhighpass=f=6000 minus unfiltered
Onset detectionsilencedetect=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.

VoiceVerdictFull-bandBoxinessRelative airCrest
V13A-17.1-26.3-24.516.3
V12A-20.8-26.2-23.020.0
V11C-21.7-26.1-14.918.6
Our guideA-20.2-25.9-15.817.7
V09C-20.1-25.7-16.319.3
V07C-20.2-24.7-18.718.4
V04C-19.3-24.4-16.618.1
V03C-19.5-24.3-20.817.7
V08T-17.0-23.6-20.615.9
V02C-18.0-23.2-16.016.6
V05C-20.0-23.2-12.717.4
V01T-17.6-22.6-20.416.8
V14U-18.3-21.9-18.217.6
V06T-17.3-20.4-26.316.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.