Home / Ops / More in this area

Affirmology Voice Registry - what voice + settings every audio uses

Updated Jul 12, 2026 · Affirmology_VoiceRegistry_v1.md

Summary. STANDING RULE (Jeff, 2026-06-27): LOG THIS HARD, ALWAYS. Every time any audio is rendered, record here: which voice (name + provider + exact referenceid / voiceid), the model, the speed, the music bed, and the output URL. Do not render anything without updatin

Affirmology Voice Registry - what voice + settings every audio uses

STANDING RULE (Jeff, 2026-06-27): LOG THIS HARD, ALWAYS. Every time any audio is rendered, record here: which voice (name + provider + exact reference_id / voice_id), the model, the speed, the music bed, and the output URL. Do not render anything without updating this file. This is the single source of truth; the FishVoice shortlist is the audition log, this is the "what we actually ship" log. No em dashes.

⚠️ STANDING PRONUNCIATION RULE (Jeff, 2026-07-12) - APPLIES TO EVERY TTS RENDER

The TTS engines mispronounce our own name. They say "AW-firm-ology." Correct is "AH-firm-ology" (the "affirm" in "affirmation").

THE FIX: before ANY text goes to a TTS engine, find-and-replace the brand name with the phonetic respelling.

Written Send to TTS as
Affirmology Ahffirmology ✅ (Jeff picked by ear, 2026-07-12; Afirmology was close 2nd)

Providers + voice IDs

Voice Provider id / reference_id Notes
Charlotte ElevenLabs "Charlotte" (Meditation & Relaxation), model eleven_turbo_v2_5 the female demo / Soul Song voice
Lily ElevenLabs trailer voice per Affirmology_VoiceTools_FishAudio_Eval_v1.md
Sleep (male) Fish Audio (s2) 8a5a849eff184046ae6bdb9a1825165c Jeff's chosen MALE identity voice (2026-06-27). NOT the readings voice (Jeff confirmed by ear).
CALM-NORMAL (male) Fish Audio (s2) 0b74ead073f2474a904f69033535b98e "movie-trailer, slow + deep"
calm (male) Fish Audio (s2) f281f234a1d04a929ade9f676ed7c441 THE READINGS / Mirror / Dr. Young voice (Jeff identified by ear, 2026-06-27).
british female Fish Audio (s2) 32e344f53f114cfcbb7ed086f10f2403 "sounds like Charlotte"

What each audio uses (the ship log)

Audio / lane Voice Model Speed Bed Output
Demo + Origin Soul Song (foundational, female) Charlotte (ElevenLabs) eleven_turbo_v2_5 0.96 Heavenly Circuit demo render path; Sol's at media.affirmology.ai/library/sol_OriginSoulSong.mp3
The Recognition (A/B, canonical) Charlotte (ElevenLabs) eleven_turbo_v2_5 0.96 Heavenly Circuit library/jeff_Recognition.mp3
Jeff Origin + Recognition, MALE test Sleep (Fish 8a5a849e...) Fish s2 0.85 Heavenly Circuit, 6s intro + 4s fade tail library/jeff_OriginSoulSong_male.mp3, library/jeff_Recognition_male.mp3 (2026-06-27)
The Mirror / readings / Dr. Young (male) calm (Fish f281f234a1d04a929ade9f676ed7c441) Fish s2 reading pace (varies) library/sol_Mirror.mp3, colin_Mirror.mp3, sol_WealthReading_full_clean.mp3 (72 min), jeff_ShortReading_A/B.mp3
Trailer Lily (ElevenLabs) - - - -
Investor video VO (male) calm (Fish f281f234a1d04a929ade9f676ed7c441) Fish s2 0.88 dry, no bed (bed added in CapCut) Affirmology_InvestorVideo_VO_calm_male_v1.mp3 (2026-06-28); the readings voice, rendered per-beat and concatenated with breaths; ~8.7 min
Origin Soul Song, NEW FIXED CLOSE (Jeff test) Charlotte (ElevenLabs) eleven_turbo_v2_5 0.96 Heavenly Circuit, default mix (5s offset, ~7s predictable tail) library/jeff_OriginSoulSong_newclose.mp3 (2026-06-28). Origin formula with the open-loop close replaced by the fixed seal "Beneath all of it, one truth remains. I am [name]." Engine commit 3cebfd5 (not yet pushed). QC pass, voice 285s.
Jeff Mirror, Recognition form (test) mirror-male (Fish e686ae649ee44f219a108aacba206c1a) Fish s1 0.82 no bed (spoken, silence under voice) JeffParkerLove_Mirror_Recognition_v1.mp3 (2026-07-09). Recognition form shaped from Jeff's stored Understanding, Sol's 7/6 feedback applied (wide pauses, isolated affirmations). Paced render, base_gap 1.05, 72s inserted silence, 65 beats, 15:09, QC PASS 0 dropouts, LUFS -22.4. Emailed to Jeff (Resend 58838ea6). Script: Affirmology_JeffMirror_Recognition_v1.md.

VOICE ID DISCREPANCY TO RESOLVE (2026-07-09): the render pipeline (pipeline.py / audio_synthesis.py) defines mirror-male = Fish e686ae649... (s1), and the OriginSoulSong/AudioStructures synthesis docs call e686ae649... "the locked read for The Mirror." But the ship-log row above (line for sol_Mirror.mp3) records f281f234... (s2) as the Mirror voice. These are two different Fish voices, both "calm." Jeff picked e686ae649... for the 2026-07-09 Jeff Mirror render. Someone should confirm which reference_id actually rendered the Sol Recognition 10:38 Sol loved and reconcile this table with the code so we stop carrying both.

THE READINGS VOICE - WORKING PICK: calm (close enough, provisional) (Jeff, 2026-06-27)

Jeff: "but it's close enough, unless or until we can find it." So USE calm f281f234a1d04a929ade9f676ed7c441 (Fish s2, male) as the readings / Mirror / Dr. Young voice for now, rendered SLOWER (~0.80-0.84, not 0.9). It is the closest by ear and matches the transcript hint "[narrator] calm | f281f234", but Jeff is not 100% it is the exact original (the original was never logged; Fish has no request-history API). PROVISIONAL until/unless the exact one surfaces. Distinct from Sleep (8a5a849e..., Jeff's identity-audio male).

Render recipes (so a render is always reproducible)

THE SUNG CHANT (Eleven Music, 2026-07-12) - Jeff's takes + the canon prompt

Engine: POST https://api.elevenlabs.io/v1/music, {"prompt", "music_length_ms": 30000}, production ELEVENLABS_API_KEY (full access). Runner: affirmology-studio/api/chant_runner.py (queue-driven, 3 takes/person, R2 chants//). A cappella ALWAYS; optional bed under at 0.18 (CHANT_BED_KEY, off).

Jeff Parker Love takes (all logged, all kept; "we are only scratching the surface of the usability"): - take1: https://media.affirmology.ai/chants/jeff_parker_love/take1.mp3 (v1 uniform-choir prompt) - take2: https://media.affirmology.ai/chants/jeff_parker_love/take2.mp3 (v1 prompt; Jeff's early pick) - take3: https://media.affirmology.ai/chants/jeff_parker_love/take3.mp3 (v1 prompt; liked) - take4: https://media.affirmology.ai/chants/jeff_parker_love/take4.mp3 (v2 BUILD-AND-CONVERGE) = CANON -> canonical https://media.affirmology.ai/chants/jeff_parker_love.mp3

CRAFT FINDING (Jeff by ear, 7/12): the opening solo name lands soft; THE CHOIR CONVERGING ON THE FINAL WORD IS THE EPIC MOMENT. So the v2 house prompt makes it structural: "opens with a single strong solo voice, more voices join phrase by phrase, and the entire choir converges in radiant, layered, epic full harmony on the final words." v2 is now the runner's house template (every future chant inherits it). v1 (uniform choir) kept here for reference: "Authentic Gregorian chant, a small monastery choir of male voices in a vast stone cathedral, reverent, slow, sacred, natural cathedral reverb, fully a cappella, absolutely no instruments. The choir solemnly and beautifully chants these exact words as the entire text, in medieval plainchant style, melismatic, voices layering and echoing: '. I am .'"