feat(podcast): update music_mix config with voice-aware guardrails (#430)
- Voice guardrail: music never exceeds 10% when voice is playing - Intro: full vol 8s, fade to 10% before voice starts, post-intro 2s musical break then silence - Outro: fade from 0% to 10% over 3s under farewell, ramp to 100% after voices end - Updated Vera voice from alloy to coral (operator change) - Added configurable parameters: speech_duck_gain, pre_voice_fade, post_intro timing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Juan Manuel Servera committed
Jun 12, 2026 at 16:37 UTC
3bb6ba9e1cf3b820c4e9d677cd50df1e015167c8
1 file changed
+10
-7
config/podcast.json
+10
-7
@@ -37,17 +37,20 @@
37
},
38
"music_mix": {
39
"track": "Summer Sport",
40
+ "voice_guardrail": "Music must NEVER exceed 10% volume when any voice is playing. Only go above 10% during guaranteed silence: intro opening, post-intro musical break, and outro after all voices end.",
41
+ "speech_duck_gain": 0.10,
42
"intro": {
41
- "description": "Full volume for 10 seconds, fade down under Host A's opening line, fade up briefly after Host A finishes, fade out before Host B begins.",
42
- "full_volume_seconds": 10,
43
- "fade_down_under": "Host A opening",
44
- "fade_up_after": "Host A opening",
45
- "fade_out_before": "Host B first line"
43
+ "description": "Full volume 0-8s (no voice yet). Fade down to 10% from 8-10s so music is already ducked when voice starts. Stay at 10% under host introductions. After intros end, fade up to 100% for 2 seconds (musical break). Then fade to zero over 1 second. Main show starts in silence.",
44
+ "full_volume_seconds": 8,
45
+ "pre_voice_fade_seconds": 2,
46
+ "speech_segments_under_music": 2,
47
+ "post_intro_full_volume_seconds": 2,
48
+ "post_intro_fade_out_seconds": 1
49
},
50
"outro": {
48
- "description": "Start at 1:15 of the song. Slow fade-up during the farewell exchange between hosts, then play to the end of the track.",
51
+ "description": "When farewell starts, music fades in from 0% to 10% over 3 seconds. Stays at 10% max while any voice is still talking. After the last voice ends, ramp to 100% and play to end of track.",
52
"start_position": "1:15",
50
- "fade_up_during": "farewell exchange",
53
+ "fade_in_from_zero_seconds": 3,
54
"play_to_end": true
55
}
56
}