Postprod improvements: denoise, phone EQ, ad muting, ducking, voice mappings

- Add host mic noise reduction (afftdn + anlmdn)
- Add phone EQ bandpass on caller stem
- Mute music during ads with 2s lookahead/tail
- Increase ducking release to 3s to reduce pumping
- Add Inworld voice mappings for all regular callers
- Recording toggle endpoint, stem sync fixes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-12 03:59:08 -07:00
parent 75f15ba2d2
commit 95c2d06435
6 changed files with 216 additions and 96 deletions

View File

@@ -101,17 +101,10 @@ function initEventListeners() {
if (recBtn) {
recBtn.addEventListener('click', async () => {
try {
if (!stemRecording) {
const res = await safeFetch('/api/recording/start', { method: 'POST' });
updateRecBtn(true);
if (onAirBtn) updateOnAirBtn(onAirBtn, res.on_air);
log('Recording started + ON AIR: ' + res.dir);
} else {
const res = await safeFetch('/api/recording/stop', { method: 'POST' });
updateRecBtn(false);
if (onAirBtn) updateOnAirBtn(onAirBtn, res.on_air);
log('Recording stopped + OFF AIR');
}
const res = await safeFetch('/api/recording/toggle', { method: 'POST' });
updateRecBtn(res.recording);
if (onAirBtn) updateOnAirBtn(onAirBtn, res.on_air);
log(res.recording ? 'Recording started + ON AIR' : 'Recording stopped + OFF AIR');
} catch (err) {
log('Recording error: ' + err.message);
}