Nodes/ComfyUI-FLOAT_Optimized/Load Audio Projection Layer (VA)
ComfyUI Node

Load Audio Projection Layer (VA)

The tiny loader that finishes the audio branch

By set-soft·Created about a year ago·Updated 12 months ago· 33
Load Audio Projection Layer (VA)
    • projection_layer
    • inferred_input_dim
    • dim_a
    projection_file
    target_devicecpu

    The smallest model in the FLOAT stack does one of the most important jobs in the audio branch. Load Audio Projection Layer (VA) loads the weights for the projection layer - the nn.Sequential that shrinks Wav2Vec's big feature vectors down to FLOAT's compact wa_latent - and hands it to Float Apply Audio Projection. Without it, the audio branch of the Very Advanced graph dead-ends a node early.

    Like the other VA loaders, it's self-describing: it reads the .safetensors file and infers the input and output dimensions from the weights rather than asking you to type them. That's a real convenience, because the input dimension is a contract with the rest of the audio branch - if you change how many features the Wav2Vec stage emits (the only_last_features toggle in FLOAT Audio Feature Extract dramatically changes the feature dimension), the projection has to be built for that same width, and this node is where you'd find out.

    Inputs and outputs

    • projection_file - dropdown of .safetensors files in ComfyUI/models/float/audio_projections/. Shipped default: projection.safetensors.
    • target_device - CPU or CUDA for where the layer runs.

    Outputs:

    • projection_layer - the loaded module, into Float Apply Audio Projection.
    • inferred_input_dim - the feature dimension the layer expects as input (the contract with the Wav2Vec stage).
    • dim_a - the output dimension, i.e. the size of the wa_latent vectors this projection produces. This is worth wiring somewhere visible if you're hand-rolling parts of the graph, because the FMT model was trained with a specific wa dimension.

    Loading behavior worth knowing

    The weights come from models/float/audio_projections/projection.safetensors. If that file isn't there, the loader extracts it from the unified FLOAT.safetensors under the audio_encoder.audio_projection prefix, and if the unified model is also missing, it downloads projection.safetensors straight from the pack author's Hugging Face repo. Net effect: this node basically never needs manual model management - it just works, which is more than you can say for a lot of split-model loaders.

    Install is the pack standard - ComfyUI Manager search "ComfyUI-FLOAT_Optimized", or clone into custom_nodes + pip install -r requirements.txt, restart. It's part of the VA graph, so the usual two caveats apply: the VA interfaces are still marked "might change," and FLOAT is CC BY-NC-SA 4.0 - fine for personal and research use, not for anything commercial.

    CategoryFLOAT/Very Advanced/Loaders

    Inputs (2)

    NameTypeDefaultDescription
    projection_fileCOMBOThe .safetensors file containing the pre-trained weights for the audio projection layer.
    target_deviceCOMBOcpuThe device (CPU or CUDA) to which the projection layer will be assigned for computation.

    Outputs (3)

    NameTypeDescription
    projection_layerAUDIO_PROJECTION_LAYER
    inferred_input_dimINT
    dim_aINT