steve-adminandClaude Sonnet 5 7569cdc322 Fix Characters tab: every selection errored, dropdown went stale
Real bug, not user error: Gradio refuses to serve a file back to the
browser unless it lives under the app's own directory, the system
temp dir, or an explicit allowlist. Every character's reference audio
lives in the-service-station repo, a completely different path, so
selecting *any* character in the Characters tab threw
gradio.exceptions.InvalidPathError server-side (visible in the server
log, not surfaced usefully in the browser's generic error toast).
Fixed with launch(allowed_paths=[SERVICE_STATION_DIR]), the documented
fix for this exact error.

Also: the character dropdowns choices were fixed at server-start time,
so a character created earlier in the same running session did not
show up without manually clicking Refresh. Added a demo.load() hook to
refresh both dropdowns automatically on page load, in addition to
keeping the manual Refresh button for mid-session use without a full
reload.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Y1oQ4h4WE4R9KRvMQLr5Ey
2026-09-16 10:39:12 +00:00
2026-09-13 15:24:31 +00:00
2026-09-13 15:24:31 +00:00

audio-demo

Audio processing demos: WhisperX, Demucs, and TTS technology proofs-of-concept.

Structure

  • whisperx/ — speech-to-text with word-level alignment and diarization
  • demucs/ — source separation (vocals/instrumentals stem splitting)
  • tts/ — text-to-speech service demos (voice cloning via MOSS-TTS)
  • auk/ — voice editing demos (emotion/pitch/speed/content editing on existing recordings, as opposed to tts/'s clone-and-generate approach)
  • webui/ — interactive pipeline studio chaining demucs -> AuK -> MOSS-TTS with previews

Each subdirectory has its own README with setup and run instructions.

Requirements

Some demos are GPU-accelerated and are best run on a CUDA-capable machine (e.g. an RTX 3090).

Planned: full audio-translation demo

Chain the three demos together on media-files/ into an end-to-end pipeline:

  1. demucs — separate the source clip into vocals / instrumental stems
  2. whisperx — transcribe the isolated vocal stem, then machine-translate the transcript
  3. tts — clone the original speaker's voice (from the isolated vocal stem) and synthesize the translated text in that voice, then remix with the original instrumental stem

Stem separation and transcription are already working end to end (see demucs/README.md and whisperx/README.md); translation and voice-cloning TTS are not yet implemented.

S
Description
Audio processing demos: WhisperX, Demucs, and TTS technology proofs-of-concept.
Readme
60 MiB
0 Stars 4 Watchers 0 Forks
Languages
Python 100%