Nodes/Nova Audio Player/Nova Batch Load Audio ๐ŸŽผ
ComfyUI Node

Nova Batch Load Audio ๐ŸŽผ

Point it at a folder, get a batch

By NovaFemmeยทCreated 20 days agoยทUpdated 2 days agoยท 0
Nova Batch Load Audio ๐ŸŽผ
    • files
    • audio
    • file_count
    • filenames
    • metadata
    โ—„folder_pathโ–บ
    โ—„file_filter*.flacโ–บ
    โ—„recursivefalseโ–บ
    โ—„sort_bynameโ–บ
    โ—„limit0โ–บ
    โ—„decode_audiofalseโ–บ

    ComfyUI's audio story is one file at a time. That's fine until you're doing anything batch-shaped - tagging an album, building a training set, scanning a folder of takes - where the thing you need first is a list of files with their facts attached.

    Nova Batch Load Audio ๐ŸŽผ is that list. It walks a folder, applies your filter, and hands back a NOVA_FILES batch. Everything downstream in this pack's authoring and training chains eats that type: Tag Writer, Tag Reader, and the ACE-Step dataset builder all start here.

    The default that matters

    Decoding is off by default. On, the node decodes every matched file into a batched AUDIO tensor - and that's memory you didn't need, because the tag nodes and the dataset builder only want paths and metadata. Leave decode_audio off unless you actually feed the audio output into something.

    If you do turn it on, know the batching caveat, because it's a ComfyUI constraint rather than this node's choice: an AUDIO payload is a single [batch, channels, samples] tensor, so files must share a sample rate and get padded to the longest one. Any file whose rate differs from the first decoded file is left out of the tensor - it stays in the file list, and the exclusion is written into metadata. Mixed-rate folders are quietly lossy in the tensor; check the JSON before you trust the output.

    Inputs

    • folder_path - empty falls back to ComfyUI's input directory. Absolute paths are fine and are what you'll usually want.
    • file_filter - comma-separated globs, e.g. *.flac, *.wav. Defaults to *.flac; empty matches every known audio extension.
    • recursive, sort_by (name, modified, size) and limit - sorting is for your convenience only, since tag rows are matched by file name, not position. limit is a dataset killer: 0 means no cap, and any non-zero value silently truncates. If your training set mysteriously has 50 tracks when the folder has 300, look here first.

    Outputs: files (the batch), audio (only meaningful with decoding on), file_count, filenames (a real list output - one string per file, which is why Nova Console renders it as a numbered listing rather than exploding into a run per file), and metadata, a JSON blob with per-file facts, the scan settings and any warnings.

    Install

    ComfyUI Manager โ†’ Nova Audio Player โ†’ install โ†’ restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NovaFemme/ComfyUI-NovaAudioPlayer.git
    

    Under โ–ถ๏ธ Nova Audio โ†’ ๐Ÿ› ๏ธ Utility & IO. This node needs nothing you don't already have: it reuses the same decode stack as Nova Load Audio, which tries soundfile, then torchaudio, then PyAV - and PyAV ships with ComfyUI, so there's a working path on any install. Metadata and header probing are its own, so you get bit depth and tags without a decoder deciding whether it feels like reporting them.

    Two workflows it enables

    Tag an album from a database. Batch Load Audio โ†’ Nova SQLite Reader โ†’ Nova Tag Writer โ†’ Nova Tag Reader to verify. The example workflows and a sample database ship with the pack, so you can run the shape end-to-end before pointing it at your own library.

    Build a training set. Batch Load Audio โ†’ Nova ACE Dataset Builder โ†’ Review โ†’ Preprocess โ†’ Trainer. Here you want decode_audio off, recursive as needed, and limit at 0, because the dataset builder reads tags and paths, not waveforms.

    One habit worth stealing from the image side of the hobby: when you're scanning a folder you don't fully trust, wire the metadata output into Nova Console once and read the warnings. Silent exclusions are the whole failure mode of batch nodes.

    Categoryโ–ถ๏ธ Nova Audio/๐Ÿ› ๏ธ Utility & IO

    Inputs (6)

    NameTypeDefaultDescription
    folder_pathSTRINGFolder to scan. Empty falls back to ComfyUI's input directory.
    file_filterSTRING*.flacComma-separated glob patterns, e.g. *.flac, *.wav. Empty matches every known audio extension.
    recursiveBOOLEANfalseInclude sub-folders.
    sort_byCOMBOnameBatch order. Tag rows are matched by file name, not by position, so this is for your convenience.
    limitINT00โ€“100000Stop after this many files. 0 = no limit.
    decode_audioBOOLEANfalseOff: paths + metadata only (fast). On: also decode every file into the batched AUDIO output.

    Outputs (5)

    NameTypeDescription
    filesNOVA_FILESThe batch of files, for Nova Tag Writer / Nova Tag Reader.
    audioAUDIOBatched waveform [files, channels, samples] โ€” only meaningful with decode_audio on.
    file_countINTHow many files were matched.
    filenamesSTRINGFile names, as a list output (one string per file).
    metadataSTRINGJSON: per-file facts, the scan settings, and any warnings.