
Claude Video Enhance Audio
- 6 installs
- 23 repo stars
- Updated April 6, 2026
- agricidaniel/claude-video
claude-video-enhance-audio is a Claude Code skill for AI audio enhancement of video, including source separation, diarization, and denoising.
About
claude-video-enhance-audio is a Claude Code skill for AI-model-based audio enhancement of video. It runs Demucs v4 for source separation, pyannote-audio plus WhisperX for speaker diarization, DeepFilterNet3 for AI noise reduction, TTS engines for voiceover, and AudioSR for upsampling. A developer uses it when FFmpeg-native audio is not enough and GPU AI models are needed.
- AI source separation with Demucs v4 to isolate vocals
- Speaker diarization (pyannote + WhisperX) and AI denoise (DeepFilterNet3)
- TTS voiceover and phone-to-studio audio upsampling
Claude Video Enhance Audio by the numbers
- 6 all-time installs (skills.sh)
- Ranked #1,096 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
claude-video-enhance-audio capabilities & compatibility
Requires a local GPU; diarization needs a HuggingFace token, and some TTS options need ElevenLabs or OpenAI keys.
- Capabilities
- source separation · speaker diarization · audio denoising · tts voiceover · audio upsampling
- Use cases
- transcription
- Pricing
- Bring your own API key
- Requires keys
- HF_TOKENFORPYANNOTEDIARIZATION · ELEVENLABSOPENAIKEYSFORSOMETTSPROVIDERS
What claude-video-enhance-audio says it does
AI-powered audio enhancement for video using Demucs v4 (source separation, isolate
npx skills add https://github.com/agricidaniel/claude-video --skill claude-video-enhance-audioAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 6 |
|---|---|
| repo stars | ★ 23 |
| Last updated | April 6, 2026 |
| Repository | agricidaniel/claude-video ↗ |
What it does
Isolate vocals, diarize speakers, AI-denoise, generate TTS voiceover, or upsample audio quality for a video using GPU models.
Who is it for?
AI source separation, speaker diarization, deep denoising, TTS voiceover, and audio upsampling
Skip if: FFmpeg-native audio like loudnorm, EQ, or silence removal, which claude-video-audio handles
When should I use this skill?
You need to isolate vocals, diarize speakers, AI-denoise, generate voiceover, or upsample audio
What you get
Produces separated stems, speaker-labeled transcripts, denoised audio, or generated voiceover.
- Separated audio stems
- Speaker-diarized transcript JSON
- AI-denoised audio
By the numbers
- htdemucs_ft model uses 7GB VRAM (SDR 9.20 dB)
- DeepFilterNet3 PESQ 3.17-3.50 vs FFmpeg afftdn ~2.50
Files
claude-video-enhance-audio — AI Audio Enhancement
This sub-skill handles AI-model-based audio processing. For FFmpeg-native audio operations (loudnorm, EQ, compression, silence removal, mixing), use claude-video-audio instead.
Pre-Flight
1. Activate venv: source ~/.video-skill/bin/activate 2. Check free VRAM: nvidia-smi --query-gpu=memory.free --format=csv,noheader,nounits 3. Verify required tools are installed for the requested operation
Source Separation (Demucs v4)
Isolate vocals, drums, bass, or other instruments from audio/video.
source ~/.video-skill/bin/activate
python3 scripts/audio_enhance.py separate "$INPUT" \
--stems vocals \
--model htdemucs_ft \
--output vocals.wavOptions:
--stems vocals— Extract vocals only (most common for video)--stems all— Separate into 4 stems: vocals, drums, bass, other--stems vocals,other— Extract specific combination--model htdemucs_ft— Best quality model (default, 7GB VRAM, SDR 9.20 dB)--model htdemucs— Faster, slightly lower quality (5GB VRAM)--output FILE— Output path (or directory for--stems all)
VRAM: 7GB for htdemucs_ft. Model is unloaded after processing.
Use cases:
- Extract clean dialogue from video with background music
- Remove background music while keeping speech
- Create music-only track for audio ducking
- Isolate instruments for remix
Speaker Diarization (pyannote-audio 4.0)
Identify who spoke when in a video.
source ~/.video-skill/bin/activate
python3 scripts/audio_enhance.py diarize "$INPUT" \
--output speakers.jsonOptions:
--hf-token TOKEN— HuggingFace token (required for pyannote models)--with-transcript— Combine with WhisperX transcript for speaker-labeled text--output speakers.json— Output path
VRAM: 2-4GB for pyannote, +6GB if --with-transcript (WhisperX runs sequentially).
Output format (speakers.json):
{
"speakers": ["SPEAKER_0", "SPEAKER_1"],
"segments": [
{"speaker": "SPEAKER_0", "start": 0.5, "end": 5.2, "text": "Welcome to the show..."},
{"speaker": "SPEAKER_1", "start": 5.8, "end": 12.1, "text": "Thanks for having me..."}
]
}Requires: HuggingFace token with access to pyannote/speaker-diarization-3.1. Set via HF_TOKEN env var or --hf-token flag.
AI Noise Reduction (DeepFilterNet3)
Superior noise reduction compared to FFmpeg's afftdn filter.
source ~/.video-skill/bin/activate
python3 scripts/audio_enhance.py denoise "$INPUT" \
--output clean.wavVRAM: <1GB (very lightweight)
Quality comparison:
- DeepFilterNet3 PESQ score: 3.17-3.50
- FFmpeg afftdn PESQ score: ~2.50
- Dramatically better for speech with background noise
Fallback: If DeepFilterNet3 is not installed, falls back to FFmpeg afftdn:
ffmpeg -n -i "$INPUT" -af "afftdn=nf=-25:nt=w" -c:v copy "$OUTPUT"Options:
--compensate-delay— Compensate for processing delay (default: true)--atten-limit N— Maximum attenuation in dB (default: 100)
TTS Voiceover Generation
Generate voiceover narration from text.
source ~/.video-skill/bin/activate
python3 scripts/audio_enhance.py tts \
--text "Welcome to this tutorial on video editing with Claude." \
--provider elevenlabs \
--voice "Rachel" \
--output voiceover.wavElevenLabs (Best Quality — API)
python3 scripts/audio_enhance.py tts --text "..." --provider elevenlabs --voice "Rachel" --output vo.wav- Quality: Best available
- Cost: $5/month starter (30 min), $22/month creator
- Requires:
ELEVENLABS_API_KEYenv var - Voices: 10,000+ available
OpenAI TTS (Good Quality — API)
python3 scripts/audio_enhance.py tts --text "..." --provider openai --voice alloy --output vo.wav- Quality: Very good
- Cost: $15/1M characters (tts-1), $30/1M (tts-1-hd)
- Requires:
OPENAI_API_KEYenv var - Voices: alloy, echo, fable, onyx, nova, shimmer, ash, ballad, coral, sage, ember, vale, verse
--model tts-1-hdfor higher quality
Bark (Local — Free)
python3 scripts/audio_enhance.py tts --text "..." --provider bark --output vo.wav- Quality: Good, expressive, supports non-verbal sounds
- Cost: Free
- VRAM: 12GB (exclusive use — unloads all other models)
- Supports: laughter, sighs, music (via text prompts like
[laughs])
Cost confirmation: Always confirm before API-based TTS generation.
Audio Upsampling (AudioSR)
Upscale phone-quality audio to studio quality.
source ~/.video-skill/bin/activate
python3 scripts/audio_enhance.py upsample "$INPUT" \
--output hd_audio.wavVRAM: 6-8GB
What it does:
- Input: 8-16kHz bandwidth (phone recordings, compressed audio)
- Output: 24kHz bandwidth at 48kHz sample rate
- Dramatically improves clarity and presence
Options:
--model speech— Optimized for speech content (default)--model music— Optimized for music content--model general— General purpose
Routing Guide: This Sub-Skill vs claude-video-audio
| Task | Use This Sub-Skill | Use claude-video-audio |
|---|---|---|
| Isolate vocals from music | Yes (Demucs) | No |
| Who said what (diarization) | Yes (pyannote) | No |
| AI noise reduction | Yes (DeepFilterNet3) | FFmpeg afftdn (simpler) |
| Generate voiceover | Yes (TTS) | No |
| Upsample phone audio | Yes (AudioSR) | No |
| Normalize loudness (LUFS) | No | Yes (loudnorm) |
| EQ / compression / effects | No | Yes (FFmpeg filters) |
| Remove silence | No | Yes (auto-editor) |
| Mix audio tracks | No | Yes (amix) |
| Extract audio from video | No | Yes (stream copy) |
VRAM Management
| Operation | VRAM | Can Coexist With |
|---|---|---|
| Demucs htdemucs_ft | 7GB | Light models (<5GB) |
| WhisperX (for diarize) | 6GB | Light models only |
| AudioSR | 6-8GB | Light models only |
| DeepFilterNet3 | <1GB | Anything |
| pyannote | 2-4GB | Medium models |
| Bark TTS | 12GB | Nothing (exclusive) |
All models are loaded on-demand and unloaded after processing with torch.cuda.empty_cache().
Safety Rules
1. Always confirm cost before API-based TTS generation 2. Run bash scripts/preflight.sh for output path validation 3. Warn about processing time for long audio files with heavy models 4. Never overwrite source audio files
Reference
Load references/audio-enhance.md for model details, API setup, and quality comparisons.
Related skills
FAQ
When should I use this over claude-video-audio?
Use this for AI-model audio like source separation, diarization, and deep denoising; use claude-video-audio for FFmpeg-native loudnorm, EQ, and silence removal.
Does speaker diarization need credentials?
Yes, it requires a HuggingFace token with access to pyannote/speaker-diarization-3.1.