Steven Koch
01 / THE TEST CASE

NOIR CALL — End-to-End in One Tool

A 16-line audio drama scene: Viktor, a tired NY detective, calls Laura from the streets of Manhattan. Two voices, a telephone filter on her side, rain and city atmosphere, slow jazz vinyl bleeding through her apartment, and a final outro of his footsteps walking off.

Every asset on this page was generated, processed and arranged inside AudioGen Studio — no external editor ever touched it. One operator, one app, from "voice description prompt" to mastered MP4.

NOIR CALL — Final Mix
Viktor & Laura · ~75s · Voice + SFX + Music + FX + Composer
7
Steps, one app
100%
Local · offline
16 GB
Consumer GPU
0
Cloud APIs
02 / THE PIPELINE

Seven Steps, One App

No tab-hopping between tools. The same desktop app moves the project from "voice description prompt" to "mastered MP4 with audio-reactive visuals" — and back, when you want to iterate.

Voice Designer Script SFX Studio Music Studio FX Studio Composer Export
03 / STEP 01 · VOICE DESIGNER

Voice Designer

Describe a voice in plain English, get back a usable speaker identity.

Qwen3-TTS turns a prose description ("A weathered American male voice in his early forties, deep baritone with a slight gravel from too many late nights…") plus a 25–30 second sample text into a custom voice that gets saved into the Voice Library with language, gender and bucket. The library on the right shows speakers organized by project — TheBlackVeil, Charlie_Project, NOIR CALL — and you assign saved voices straight to the Script tab's Speaker 1 / Speaker 2 slots.

Voice Designer view — prose description, sample text, generation progress, library tree, speaker assignment
Voice Designer — generating "Laura" from a prose description

Voice Designer — generating "Laura" from a prose description, ready to assign to Speaker 2 in the Script tab.

Prose to Voice

Qwen3-TTS generate_voice_design converts a written voice description into a unique speaker identity — no reference recording required.

Sample Text Test

~25–30 second sample text confirms the voice on diverse vowels and consonants before saving — phonetic spread is what makes a clone hold up under variation.

Voice Library Buckets

Speakers saved by language (EN/DE), gender (Male/Female) and project bucket. The same Voice Library shows up in the Script tab, FX Studio and Composer.

Seed Lock

Reproducible designs via locked seed + language hint. Same prompt + same seed = same voice across sessions, projects and machines.

04 / STEP 02 · SCRIPT

Script — Multi-Speaker Conversation

Paste a script, assign saved voices to speakers, pick a Chatterbox engine variant, and generate the whole conversation line by line.

The Mood Pill bar applies inline [soft] / [firm] / [urgent] / [whisper] tags that Chatterbox's mood-aware variant respects per line. Auto-generate-then-approve walks through the conversation and lets the operator accept, regenerate, or re-mood any single line without re-running the rest.

Script tab — engine selector, mood pill bar, multi-line script, per-line approval queue, speakers panel
Script tab — NOIR CALL loaded, mood pills above the text, per-line approval queue below

Script tab — NOIR CALL loaded with both speakers assigned, mood pills above the text, per-line approval queue below.

Chatterbox Variants

Three engine flavors: Chatterbox EN (best English fidelity), Multilingual (German/other), Turbo (~2× speed for batch). Switch per session; models lazy-load and idle-unload after 5 minutes.

Mood Pill Bar

Inline [soft] / [firm] / [urgent] / [whisper] / [neutral] tags driven by Chatterbox's mood-aware path with dwain-barnes-tuned exaggeration values.

Auto-Generate + Approve

Walks through the script line by line. Approve, regenerate with a new seed, or re-mood any single line without touching the rest of the session.

Paralinguistics

Inline [whispers] / [sigh] / [chuckle] tags supported by the Paralinguistic engine variant — humanizes lines that would otherwise sound staged.

05 / THE QUALITY BRAIN

Voice-Quality-Scoring (VCS)

Generating is cheap — generating well is the problem. VCS scores every take automatically, before a human ever hears it.

Neural TTS misses: a clipped word, a dropped syllable, a sudden pitch swing, a clone that drifts off its reference timbre. At audio-drama scale — hundreds of lines per episode — listening to every take by hand is the bottleneck. AudioGen's Voice-Quality-Scoring engine measures each generated line against the target speaker and its own clean baseline, blends the metrics into a single 0–100 score, and flags the outliers so the operator only re-listens to the takes that actually need it.

Every line in the per-line approval queue carries its VCS number. Re-generations are compared against the previous best, and the spectrogram + outlier views make the failure mode visible instead of guessed.

Metric What it measures Weight Target
Speaker SimilarityCosine similarity to the target voice in speaker-embedding space (Resemblyzer)30%≥ 0.80
Transcription (WER)Whisper re-transcribes the take; word-error-rate against the intended line25%≤ 5%
Prosody / PitchF0-contour stability — penalizes toneless drops and unnatural jumps15%natural range
Clipping / LevelTrue-peak and RMS check for overload and under-level takes10%≤ -1 dBTP
Silence / TrailingDetects clipped tails, long gaps and dead air10%< 400 ms
Artifact / NoiseSNR and spectral-anomaly detection for glitches and background hiss10%high SNR
VCS CompositeWeighted sum — a single 0–100 score per take100%≥ 85 pass
VCS score panel — per-line composite score with metric breakdown
VCS score panel — composite + metric breakdown
Outlier analysis — takes flagged below threshold, ranked for re-listen
Outlier analysis — flagged takes ranked for re-listen
Spectrogram comparison — generated take vs. reference baseline
Spectrograms — generated take vs. reference baseline
A/B test — two candidate takes scored head-to-head before the better one is kept
A/B test — candidate takes scored head-to-head

VCS makes failure modes visible — score, outlier ranking and spectrogram comparison instead of guessing.

Composite Score

Six weighted metrics fold into one 0–100 number per line. ≥ 85 passes silently; anything lower lands in the outlier queue for a human ear.

Speaker Drift Guard

Resemblyzer embeddings catch clones that wander off their reference timbre mid-batch — the most common silent failure of long TTS runs.

Whisper Round-Trip

Each take is re-transcribed and diffed against its intended line. Dropped, swapped or hallucinated words surface as a WER spike, not as a surprise in the final mix.

Outlier Triage

Instead of auditioning hundreds of takes, the operator re-listens only to the ranked outliers — the score does the first pass of quality control.

06 / STEP 03 · SFX STUDIO

SFX Studio

MMAudio for short concrete sound effects, AudioLDM2 in the same pipeline for longer atmosphere loops.

Phone pickup, taxi pass on wet asphalt, footsteps — short concrete one-shots via MMAudio; rain on rooftops, distant traffic, room tone — longer loops via AudioLDM2. Single-element prompts work better than stacked ones: "wet asphalt, tire swoosh" beats "rain AND traffic AND horn AND footsteps" every time. Generated clips save into the SFX Library with category tags (Ambience, Foley, Impact, UI) and drop straight onto Composer tracks.

SFX Studio — prompt input, negative prompt, duration/steps/guidance/seed parameters, waveform preview, save to library
SFX Studio — generating a tavern atmosphere clip with MMAudio

SFX Studio — generating a tavern atmosphere clip with MMAudio, ready to save as a categorized library entry.

MMAudio

Best for short, concrete one-shots: phone_pickup, taxi_pass_wet, vinyl_crackle. 4–8 seconds, 25 steps default, guidance 4.5.

AudioLDM2

Sister engine in the same view for longer atmosphere loops — rain on rooftops, distant traffic, room tone. Hybrid-stack with MMAudio for layered scenes.

Prompt Discipline

Single-element prompts outperform stacked ones. "Wet asphalt, tire swoosh" yields clean output; "rain AND traffic AND horn AND footsteps" produces mud.

Library + Categories

SFX saved with category tags (Ambience, Foley, Impact, UI) and per-project buckets. Same library is drag-droppable from the Composer's SFX panel.

07 / STEP 04 · MUSIC STUDIO

Music Studio

ACE-Step XL Turbo via Diffusers — MIT-licensed weights, 20× realtime, runs comfortably on a consumer GPU.

Six modes: Generate a fresh track, Extend an existing one, Add Intro / Add Outro, Repaint a drag-selected region without touching the rest, or Cover an existing track in a different genre. Style presets ("Lo-Fi Cafe", "Cinematic Build", etc.) prefill prompt + parameters with proven defaults that you edit on top. The lyrics field is optional — leave blank for instrumental, add [verse] / [chorus] / [bridge] tags for sung output.

Music Studio — style preset, genre prompt, negative prompt, lyrics, mode selector, parameters panel, waveform preview
Music Studio — generating a lo-fi hip-hop loop, BPM 80, C minor

Music Studio — generating a lo-fi hip-hop loop with vinyl crackle, BPM 80, C minor. Preset "Lo-Fi Cafe" prefilled the defaults; the rest is overridden on top.

ACE-Step XL Turbo

MIT-licensed, 20× realtime on a 16 GB GPU. Loaded as a Diffusers pipeline (no ComfyUI dependency), eager dtype + bf16 with partial offload.

Six Modes

Generate · Extend · Add Intro · Add Outro · Repaint a drag-selected region · Cover an existing track in a new genre.

Style Presets

Curated prompt + parameter pairs you start from and edit on top — "Lo-Fi Cafe", "Cinematic Build", "8-bit Action Theme" and more. Faster than building prompts from scratch.

Open in FX Studio

One-click handoff from a saved Music Studio track straight into FX Studio's Music tab for mastering — no file management in between.

08 / STEP 05 · FX STUDIO (VOICE)

FX Studio — Voice

Per-speaker and per-line effect chains for the whole conversation.

Pick a session from the dropdown, see every line organized by speaker on the left, build an effect chain on the right. Apply a chain to an entire speaker (Laura gets the Telephone-Filter — High-Pass 300 Hz, Low-Pass 3400 Hz, slight saturation, compressor, gain trim — for the whole call) or override one specific line for emphasis. The Compare button A/Bs original vs. processed; Export FX Combined writes the rendered version back as a session-bound artifact.

FX Studio voice — session selector, per-speaker line tree, effect chain panel with High-Pass / Low-Pass / Compressor, properties for cutoff and order
FX Studio — Laura selected, Lo-Fi telephone preset loaded

FX Studio — Laura selected, Lo-Fi (telephone) preset loaded, chain ready to apply across all 7 of her lines.

Per-Speaker FX

Apply an effect chain to every line of one speaker at once. Telephone-filter on the partner in a phone-call scene, broadcast polish on the narrator, no per-line manual work.

Per-Line Override

Single line needs an emphasis push? presence_boost at 2 kHz on just that line. The tree shows * markers where overrides live, so you see at a glance what's customized.

Voice Presets

Curated chains: Voice Polish (Subtle), Voice Polish (Broadcast), Lo-Fi (telephone), Whisper Close-Mic, Radio. Save your own with one click.

Compare A/B

Click Compare to flip between original and processed in place — same waveform window, no separate player to manage.

09 / STEP 06 · FX STUDIO (MUSIC & STEMS)

FX Studio — Music & Stems

Same FX Studio shell, Music tab. Mastering chains, Demucs stem separation and remix-back — non-destructive.

Mastering chains use a different preset category — "Music Master Streaming (-14 LUFS · Spotify/Apple)" is the daily-driver default with High-Pass 30 Hz, two Presence Boosts, Compressor, Limiter, LUFS Normalize. Below the music library, Separate Stems runs Demucs at ~6× realtime, splitting any track into drums / bass / vocals / other. The stems become children of the master track in the library and can be dropped into the Composer as four parallel lanes for independent volume / FX / muting — or remixed back into a new master.

FX Studio music tab — music library with stems hierarchy, master streaming preset chain, separate stems / remix master / drop to composer buttons
FX Studio Music tab — Jazz_1940_Intro split into 4 Demucs stems

FX Studio Music tab — Jazz_1940_Intro split into 4 Demucs stems (bass / drums / other / vocals), Music Master Streaming chain (6 effects) applied.

Demucs Stem Separation

Any music track → drums / bass / vocals / other at ~6× realtime. Stems show up as children of the master in the library, ready for independent processing.

Music Mastering Presets

Eight presets including streaming (-14 LUFS Spotify/Apple), cinematic (-16 LUFS), broadcast and lo-fi character chains. Pick one, tweak the chain, save your own.

Drop Stems → Composer

One button drops all four stems onto the Composer timeline as parallel tracks — mute the drums, duck just the vocals under voice lines, layer effects per stem.

Remix Master from Stems

After per-stem edits, remix back into a single mastered file. The original stays in the library; the remix becomes a new entry — non-destructive workflow.

10 / STEP 07 · COMPOSER

Composer — Multi-Track Timeline

Where everything comes together. Voice sessions, SFX, music and stems on one timeline — with auto-sync, snap and crossfade.

Voice sessions auto-sync from the Script tab as two parallel speaker tracks with proper gaps between lines. SFX clips drag from the library onto their own lanes. Music sits on a dedicated lane (or four lanes if you dropped stems). Per-track color, type icon, drag-handle rename, individual volume. Auto-snap to clip edges, BPM beats and markers. Auto-crossfade on overlapping music / SFX / ambience clips. Multi-select with Alt+Drag, ripple-edit with Alt+Shift+Drag. Two export targets: a single WAV / MP3 of the audio mix, or an MP4 with the audio plus audio-reactive visuals (spectrum bars, waveform pulse) overlaid on a still cover image.

Composer view — NY skyline cover, multi-track timeline with voice / SFX / music lanes, video FX panel for audio-reactive overlays
Composer — NOIR CALL laid out across voice, SFX and music lanes

Composer — NOIR CALL session laid out across voice lanes (Viktor / Laura), SFX track (footsteps, taxi), music lane with the vinyl loop. Video FX panel on the right configures audio-reactive overlays for MP4 export.

Auto-Sync from Script

Picks up the latest Script session, builds two voice tracks with proper gaps, drops every line as a clip in order. Zero manual timeline assembly for dialogue.

Smart Snap

Clip edges, markers and BPM beats all snap automatically. Disable per-operation by holding Shift while dragging.

Auto-Crossfade

Overlapping music / SFX / ambience clips crossfade automatically — manual fade-curves only when you want to override them.

Ripple Edit & Multi-Select

Alt+Drag for multi-select, Alt+Shift+Drag for ripple. Move one clip and downstream clips slide with it — like DaVinci, but for audio drama.

Track Customization

Per-track color (12 presets + custom), type icon (mic / music / speaker / wave), inline rename via drag handle, individual volume + mute / solo.

Markers

Drop named markers on the timeline for chapter points, cue points and edit anchors. Snap targets and visual reference during playback.

Audio Export

WAV (24-bit, source sample rate) or MP3 (variable bitrate). Master-bus FX applied, peak limiter at -1 dB, LUFS-normalized to the selected target.

Video Export

MP4 with the audio mix plus audio-reactive overlays — spectrum bars, waveform pulse, configurable resolution / FPS / brightness / glow — layered over a still cover image.

A/B Final Listen

The exported master can be re-scored by VCS one last time, so the final mix ships with a measured number rather than a hopeful one.

11 / THE RESULT

Seven Steps, One Final Mix

Every step above, in one finished audio drama clip.

Two voices, telephone filter on Laura's side, MMAudio rain / vinyl / footsteps, ACE-Step jazz score under it all, mastered to -14 LUFS via the FX Studio chain, exported from the Composer — and every voice line passed through VCS before it made the cut.

NOIR CALL — Final Mix
~75s · audio coming soon
12 / UNDER THE HOOD

Tech Stack

Every model runs locally on a consumer GPU. No cloud APIs, no subscriptions, no telemetry — the whole pipeline is offline-capable.

Application

PySide6 desktop app (Qt 6), Python 3.14, single-process with a worker thread for ML calls. Tabbed view router, lazy engine loading, 5-minute idle-unload.

Voice Engines

Chatterbox EN / Multilingual / Turbo for synthesis · Qwen3-TTS for prose-to-voice design · Resemble Enhance for neural denoise + upsample.

Quality Scoring

Resemblyzer speaker embeddings, Whisper for WER round-trip, librosa F0 / spectral analysis — folded into the VCS composite score.

Music Engine

ACE-Step XL Turbo via the Diffusers pipeline. MIT-licensed weights, bf16, partial offload — 20× realtime on a 16 GB GPU.

SFX Engines

MMAudio (large_44k_v2) for short concrete sounds at 44.1 kHz · AudioLDM2 for longer atmosphere loops · same prompt-based interface for both.

Stem Separation

Demucs running ~6× realtime, splits into drums / bass / vocals / other. Stems integrate into the Music Library as children of the master.

Audio Backbone

PyTorch + CUDA for inference, NumPy / SciPy for DSP, librosa for analysis, FFmpeg for muxing and video export.

Export

WAV / MP3 audio masters and MP4 video with audio-reactive overlays, all rendered through FFmpeg with LUFS normalization.

Persistence

Project-bucketed libraries for voices, SFX and music; session-bound FX artifacts; reproducible seeds — everything stored locally.

PySide6 Chatterbox EN / Multilingual / Turbo Qwen3-TTS ACE-Step XL Turbo (MIT) MMAudio AudioLDM2 Demucs Resemble Enhance Resemblyzer Whisper PyTorch / CUDA Diffusers NumPy / SciPy librosa FFmpeg
13 / WHY LOCAL

Local-First, by Design

Vision

Every engine on this page is downloaded once and runs offline from then on. No request leaves the machine. No vendor lock-in, no API quota, no surprise bill at the end of the month — and no licensing argument when a project goes commercial, because the music engine is MIT and the voice engines run on locally-stored weights.

Enterprise Angle

The same offline stack that makes a solo producer independent is exactly what a studio needs: no confidential script ever leaves for a cloud vendor, every take carries a measurable VCS score for QA gates, and reproducible seeds make whole episodes bit-for-bit re-buildable. One operator scales from a single scene to a full season without ever switching tools.

← Back to Home