BeatImpactAnalysisNode
Find the beats in your mix so your video cuts on them
- final_mix
- drums
- bass
- vocals
- other
- beat_data
BeatImpactAnalysisNode is the music-video workflow's sense of rhythm. Feed it an audio final_mix, and it analyzes the beat structure and hands back beat_data - a string of timing information your video pipeline can use to cut scenes on the beat instead of against it. This is the difference between a music video that feels edited and one that feels like a slideshow.
It's the node behind "syncs everything into a cinematic final video" from the pack's README. A music video built from AI scene chunks has a bunch of decisions to make: when does each scene start, when does it cut, where do the dramatic moments land? The answer to all of those should come from the music, and this node is what extracts that structure.
How it works
Under the hood it's audio signal analysis - the pack depends on librosa, the standard Python library for beat and onset detection. The node looks at the mix, finds the rhythmic pulse (tempo and beat positions), and measures the impact - where the transients hit hard. It outputs beat_data as a string, which is the workflow's compact record of all that: beat times and intensities that other nodes read to schedule scene boundaries. The optional drums, bass, vocals, and other inputs are stems: connect them if you have a separated track (from UVR or similar), and the analysis can weight the drums and bass instead of working blind from the full mix. The only required input is final_mix.
Where it sits
In the VRGDG pipeline, beat_data feeds the scene-timing stage - the same place that uses your lyrics and scene durations. If you're building the workflow by hand, think of this node as producing the "edit points" that the scene generator then fills in. On a 4/4 track at 120 BPM, that's a beat every 0.5 seconds; you'll usually cut scenes on a coarser grid (every 4 or 8 beats), and the pipeline lets downstream nodes make that call with the beat data in hand.
Getting it and troubleshooting
Shared pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
or Manager → search "vrgamedev", restart. Make sure the pack's requirements.txt (librosa, imageio, kornia) actually installed - librosa is the one this node can't live without, and a missing import is the classic "node won't load" cause here.
The practical gotchas: it needs real audio wired in - an empty or unconnected final_mix produces empty beat_data, and an empty beat map means your scenes get scheduled on guesses. Stems are strictly an enhancement; if you don't have them, the mix alone works fine. And be ready for the output to be dense - beat_data is a structured string, not a pretty sentence, so don't panic when it looks like machine-readable timing. It is.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| final_mix | AUDIO | — | |
| drumsopt | AUDIO | — | |
| bassopt | AUDIO | — | |
| vocalsopt | AUDIO | — | |
| otheropt | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| beat_data | STRING | — |