Nodes/ComfyUI-JakeUpgrade/Random Beats JK๐Ÿ‰
ComfyUI Node

Random Beats JK๐Ÿ‰

Random rhythm coordinates, for when the beat needs to be generated too

By jakechaiยทCreated 2 years agoยทUpdated 3 months agoยท 147
Random Beats JK๐Ÿ‰
    • BEATSTEXT
    โ—„count1โ–บ
    โ—„X_start1โ–บ
    โ—„X_end4โ–บ
    โ—„Y_start1โ–บ
    โ—„Y_end4โ–บ
    โ—„Z_start1โ–บ
    โ—„Z_end23โ–บ
    โ—„max_items_per_count1โ–บ
    โ—„max_items_odds5โ–บ

    This is the odd one in the pack, and the pack knows it - it's flagged experimental, and the changelog entry that introduced it in 2024 literally says "(not for AIGC)." Random Beats JK generates random coordinate patterns in X-Y-Z space and spits them out as text, formatted for whatever rhythm or animation-timing system you're feeding. If your workflow involves beats, timing, or procedural motion patterns, this hands you a randomized sequence instead of typing one.

    What it actually generates

    The output BEATSTEXT (STRING) is a list of "beat groups," each containing one or more mTextVal entries with random X, Y, Z coordinates. The inputs are all about the shape of the randomness:

    • count - how many beat groups to generate.
    • X_start / X_end, Y_start / Y_end, Z_start / Z_end - the min/max range for each coordinate. Defaults give you X and Y in 1โ€“4 and Z in 1โ€“23, which is a hint that Z is where most of the action is in the intended use.
    • max_items_per_count - the max number of items within a single beat group (default 1).
    • max_items_odds - a 0โ€“10 probability knob for whether a group gets multiple items (default 5, roughly coin-flip territory).

    If you set max_items_odds to 0 or max_items_per_count to 1, every group gets exactly one item. Crank both up and groups start carrying multiple beats. That's the whole "musicality" of the node - clusters versus steady pulses.

    Why "not for AIGC"

    That changelog note is the author's own disclaimer: this isn't a diffusion thing, it's a procedural/experimental tool. The coordinate format (X_Y_Z, mTextVal) smells like it's built for a specific animation or rhythm system the author was tinkering with - the kind of thing where you want a randomized but constrained timing pattern and don't want to hand-author 50 entries. It's a genuinely niche node: if you recognize the output format, you know what it's for; if you don't, this probably isn't your node.

    Honest advice

    Because it's experimental, treat it as a sketch rather than production plumbing. The ranges have validation (start must be โ‰ค end, odds must be 0โ€“10), so it won't silently generate garbage - but the output format is fixed and the node doesn't parameterize the text layout. If you need something more flexible, you're better off with a general random/wildcard node; if you need this exact format, this saves you the copy-paste.

    Install

    The whole pack installs together:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
    pip install -r requirements.txt
    

    Experimental nodes load by default in this pack (it's deprecated ones that hide behind config.ini), so restart and it should be there under the pack's Experiment section. No models, no deps beyond standard Python random. Set a seed elsewhere in your graph if you need reproducible beats - the node itself doesn't take one.

    Category๐Ÿ‰ JK/โณ Experiment

    Inputs (9)

    NameTypeDefaultDescription
    countINT10โ€“18446744073709550000Number of beat groups to generate
    X_startINT10โ€“18446744073709550000Minimum value for X coordinate
    X_endINT41โ€“18446744073709550000Maximum value for X coordinate
    Y_startINT10โ€“18446744073709550000Minimum value for Y coordinate
    Y_endINT41โ€“18446744073709550000Maximum value for Y coordinate
    Z_startINT10โ€“18446744073709550000Minimum value for Z coordinate
    Z_endINT231โ€“18446744073709550000Maximum value for Z coordinate
    max_items_per_countINT11โ€“18446744073709550000Maximum number of items per beat group
    max_items_oddsINT50โ€“10Probability (0-10) of generating multiple items per beat

    Outputs (1)

    NameTypeDescription
    BEATSTEXTSTRINGโ€”