audio-separation-nodes-comfyui
Separate stems (vocals, bass, drums, other) from audio. Recombine, tempo match, slice/crop audio
Package profile
- Status
- Verified
- Publisher
- @christian-byrne
- Source
- GitHub
- Stars
- 632
README
worklow picture
https://github.com/user-attachments/assets/c5cf20de-a17f-438d-81ac-0c392af669cf
Nodes
| Node | Description |
|---|---|
| Audio Separation | Separate audio into four stems (bass, drums, other, vocals) using Hybrid Demucs. |
| Audio Combine | Combine two audio tracks by overlaying their waveforms (add, mean, subtract, multiply, divide). |
| Audio Crop | Crop (trim) audio to a specific start and end time. |
| Audio Tempo Match | Match the tempo of two audio tracks by time-stretching both to their average BPM. |
| Audio Speed Shift | Time-stretch or time-compress audio by a given rate. |
| Audio Get Tempo | Get the tempo (BPM) of audio using onset detection. |
| Audio Video Combine | Replace the audio of a VIDEO input with a new audio track. |
Examples
Separating Voices in a Video
[!NOTE]
In order to load videos into the LoadAudio Node, change this line in your Comfy install to include the video's extension (e.g.,
.mp4)
workflow.json
https://github.com/user-attachments/assets/c5af418e-7137-4c36-b86e-3352cf558ea8
Replacing BGM with StableAudio-Generated BGM
[!NOTE]
In order to load videos into the LoadAudio Node, change this line in your Comfy install to include the video's extension (e.g.,
.mp4)
You can use this to replace copyrighted BGM in a video with new BGM. You can set the denoise low, so that the new BGM is still stimilar to the original.
workflow json
https://github.com/user-attachments/assets/a7d5656b-5f8b-439a-936f-6ebb6a0d538a
Remixing Songs with StableAudio
- workflow json
- example output (audio file) with embedded workflow
- example output (audio file) with embedded workflow
Separating Song Vocals
workflow.json
https://github.com/user-attachments/assets/c5cf20de-a17f-438d-81ac-0c392af669cf
Extracting Instrumentals from Songs
- workflow json
Stem Mapping
The Audio Separation node uses Hybrid Demucs to split audio into four stems:
| Output | Contains |
|---|---|
| Bass | Bass guitar, sub-bass, low-frequency instruments |
| Drums | Drums, percussion, hi-hats |
| Other | Everything else — guitars, keyboards, synths, strings, etc. |
| Vocals | Singing, speech, vocal harmonies |
Looking for a specific instrument like guitar? Guitar is included in the Other stem. To isolate guitar, separate first, then use the Audio Combine node to subtract unwanted elements or further process the "Other" output.
Requirements
librosa>=0.10.2,<1
torchaudio>=2.3.0
numpy
moviep
Nodes in this pack
7 nodes
Nodes in this pack
7 nodes- AudioCombine
- AudioCrop
- AudioGetTempo
- AudioSeparation
- AudioSpeedShift
- AudioTempoMatch
- AudioVideoCombine
Related resources
24 connections
Related resources
24 connectionsSources
3 sources
Sources
3 sourcesVerified Oct 8
Verified Oct 8
Source excerpts
1 excerpt
Source excerpts
1 excerptSource context: Repo christian-byrne/audio-separation-nodes-comfyui
