Add post-production pipeline: stem recorder, postprod script, recording UI

New stem recording system captures 5 time-aligned WAV files (host, caller,
music, sfx, ads) during live shows. Standalone postprod.py processes stems
into broadcast-ready MP3 with gap removal, voice compression, music ducking,
and EBU R128 loudness normalization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 17:53:32 -07:00
parent 356bf145b8
commit 7d88c76f90
12 changed files with 1528 additions and 363 deletions

View File

@@ -75,6 +75,19 @@ header button {
50% { opacity: 0.7; }
}
.rec-btn {
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
background: #555 !important;
transition: background 0.2s;
}
.rec-btn.recording {
background: #cc2222 !important;
animation: on-air-pulse 2s ease-in-out infinite;
}
.new-session-btn {
background: var(--accent) !important;
}
@@ -85,17 +98,29 @@ header button {
font-weight: normal;
}
.caller-background {
details.caller-background {
font-size: 0.85rem;
color: var(--text-muted);
padding: 10px;
background: var(--bg);
border-radius: var(--radius);
margin-bottom: 12px;
line-height: 1.4;
}
.caller-background.hidden {
details.caller-background summary {
cursor: pointer;
padding: 8px 10px;
font-weight: bold;
color: var(--text);
font-size: 0.8rem;
}
details.caller-background > div {
padding: 0 10px 10px;
white-space: pre-wrap;
}
details.caller-background.hidden {
display: none;
}