FL Audio Envelope Prompt
Ride any audio signal straight into your prompt
- envelope
- prompt_envelope
- preview
FL Audio Envelope Prompt is the small utility that turns any audio envelope into a prompt-mask: you give it a signal - say, a kick drum's ADSR shape - and it maps that signal's strength onto a prompt you write, so the prompt dominates exactly when the signal peaks and fades back when it doesn't. It's the "given an envelope, make it a prompt" sibling of FL Audio Beat Prompt Envelope, which builds its own pulses from detected beats. This one is for when you already have a signal you like and just want it driving the conditioning.
It's the glue in Fill-Nodes' audio-reactive MiniMax H3 workflow. The sequencer node (FL Audio Beat Prompt Schedule) spits out up to three typed FL_AUDIO_ENVELOPE signals, and this is how you spend one: connect an envelope slot, write the action, and hand the result to the H3 Beat Shot Planner. You can also feed it the envelope output of FL Audio Beat Prompt Envelope, or grab a per-drum ADSR from FL_Audio_Reactive_Envelope (it gives you separate kick, snare, and hi-hat envelopes) if you want a specific instrument driving the prompt rather than the whole mix.
How it works
Under the hood it's a simple remap, which is why it's so predictable. threshold ignores everything below it and then re-stretches the remaining range back to 0–1, so quiet bleed doesn't tickle the prompt. response_gamma shapes how the middle behaves - below 1 broadens hits, above 1 makes them sharper and snappier. Then floor_strength sets the prompt's weight when the signal is quiet (0 = purely reactive) and peak_strength sets it at the top of the signal. Values above 1 make the reactive prompt dominate whatever else is conditioning, weighted through the mask rather than by re-encoding the prompt.
Two inputs worth naming:
- invert - flips it, so the prompt is strongest during the quiet parts. Counterintuitive until you want it: a "calm before the hit" moment, or a breath between drum hits.
- reactive_prompt - the action text itself. The default is a burst of light, but this is where you write "the camera pulls back sharply" or whatever the track deserves.
Outputs
- prompt_envelope (
FL_PROMPT_ENVELOPE) - the prompt plus its frame-aligned mask weights, ready for a compatible FL diffusion node (for H3, the Beat Shot Planner in the separateComfyUI-FL-MiniMaxH3pack). - preview - a readable summary of the mapped envelope, handy for checking you didn't threshold the whole signal into silence.
Install
Same pack, same path as the rest of Fill-Nodes - Manager search "ComfyUI_Fill-Nodes" or:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
then restart. The requirements are heavy (librosa, beat-this, opencv-python, and many more) - expected for this pack, even if you'll never touch most of it.
Gotchas
Same validation rules as its sibling: peak_strength must be ≥ floor_strength, and an empty reactive_prompt throws. The real beginner trap is threshold - set it too high and the envelope never crosses it, so your reactive prompt just sits at the floor all clip. Start at 0, watch the preview output, and nudge up only until the quiet parts stop firing.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| envelope | FL_AUDIO_ENVELOPE | Connect an FL audio envelope from the sequencer or another compatible FL node. | |
| reactive_prompt | STRING | A sharp burst of light and rapid geometric deformation. | Action or visual change controlled by the incoming envelope. |
| threshold | FLOAT | 0.000–0.99 | Ignore low envelope values below this level, then remap the remaining range to 0-1. |
| response_gamma | FLOAT | 1.000.1–4 | Shapes the response. Values below 1 broaden hits; values above 1 make them sharper. |
| floor_strength | FLOAT | 0.000–8 | Prompt mask weight when the source envelope is quiet. |
| peak_strength | FLOAT | 3.000–8 | Prompt mask weight at the envelope peak. Values above 1 make the reactive prompt dominate overlapping prompts. |
| invert | BOOLEAN | false | Invert the normalized envelope so the prompt becomes strongest during quiet portions. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt_envelope | FL_PROMPT_ENVELOPE | Reactive prompt and temporal mask weights for compatible FL diffusion nodes. |
| preview | STRING | Readable summary of the mapped envelope. |