Nodes/Image Oasis/Audio Oasis 🌴
ComfyUI Node

Audio Oasis 🌴

Chop audio for LTX on a waveform without leaving ComfyUI

By NikoDemon80·Created 3 months ago·Updated 3 days ago· 24
Audio Oasis 🌴
    • audio
    • filename
    â—„audio_oasis_ui{}â–º

    If you've ever tried to drive LTX 2.3's audio-to-video mode with a track you wanted to cut, you know the pain this node kills. The whole point of LTX-2 and newer is that it generates picture and sound together, and its killer apps are lipsync and music video - which means you're forever feeding it song segments, not whole songs. Audio Oasis is the third-party audio editor that lives inside one node: load an mp3/wav/flac/m4a, chop it on a waveform, save the pieces, and hand one to LTX Oasis (or any AUDIO-input node) without ever touching ffmpeg.

    It's part of the Oasis Suite pack, and it shares the family's design religion: the state lives in a single DOM widget, not across a pile of graph nodes. You'll notice the same "one node does a whole job" philosophy that Image Oasis applies to image generation - and honestly, for a task like audio editing that's a good fit. Nobody wants to wire a waveform editor out of KSamplers.

    How it works

    Everything happens in the browser. Upload a file and the waveform, duration, sample rate, channel count and peak/RMS decode client-side - no server round trip. Click anywhere on the waveform to drop a chop point, drag a point to slide it, double-click to remove. The split every N s button bulk-places evenly spaced points you can still fine-tune by hand afterward.

    Here's the part that matters for LTX: its frame quantum is 8n+1, so a clip that's exactly 121 frames is legal and one that's 120 is a fight. The Grid & Snap section keeps cuts legal, with snap modes 8n+1 (default), frames, or off - plus Re-snap for when you change FPS after chopping. Every segment row shows its frame count and flags anything LTX would reject. Save segments writes numbered files to input/audio_oasis/<track>/ in the source format, re-encoded so cuts land sample-accurate rather than on the nearest ~20-30ms frame boundary, plus a manifest.json so Load saved set can restore a chop later even after a restart.

    The inputs and outputs that matter

    The node has exactly one input - audio_oasis_ui, a STRING widget carrying all its state as JSON - so you won't be wiring anything in. You interact with it, not the graph. What you get out of it:

    • audio (AUDIO) - whichever segment you've selected (or the whole track, via "Use full track as output"). This is what you wire into LTX Oasis's audio slot or any other AUDIO input.
    • filename (STRING) - the path of the currently selected segment. Handy for metadata or logging.

    The nicer path is the drag-and-drop: grab a saved segment's grip and drop it straight onto LTX Oasis's audio slot, no wire needed.

    Installing it

    Install the whole pack once:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NikoDemon80/ComfyUI-Image-Oasis
    cd ComfyUI-Image-Oasis
    pip install -r requirements.txt
    

    Then restart ComfyUI and hard-refresh the browser (Ctrl+F5) so the frontend scripts reload. In ComfyUI Manager, search "Image Oasis" and you'll find the pack too. Everything except one button works out of the box - the only optional dependency is librosa, which powers the Analyze button's BPM and key readout. It's commented out of requirements.txt on purpose because it drags in numba/llvmlite; pip install librosa and restart if you want the music-theory extras.

    Common gotchas

    • The first Analyze is slow - 10-30 seconds on a fresh server. That's librosa's numba JIT warming up, not a hang, and every call after is fast for the life of the process.
    • Forget librosa and Analyze just errors with a clear "what's missing" message; chopping, saving and dragging all still work fine without it.
    • Re-saving overwrites the previous numbered set for the same track name - keep track names unique if you're iterating on a chop.
    • Saved sets survive restarts because they're on disk, not in the workflow. If you later delete the source file from input/, segments stay selectable and draggable; only the waveform and preview disappear.

    The segments format matches whatever you loaded - mp3, wav, flac, m4a/aac - which is the right call, since LTX's audio VAE is happier with a lossless wav stem than a transcoded mp3.

    Categoryaudio

    Inputs (1)

    NameTypeDefaultDescription
    audio_oasis_uioptSTRING{}—

    Outputs (2)

    NameTypeDescription
    audioAUDIO—
    filenameSTRING—