Load Audio Projection Layer (VA)
The tiny loader that finishes the audio branch
- projection_layer
- inferred_input_dim
- dim_a
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
.safetensorsfiles inComfyUI/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_latentvectors 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 specificwadimension.
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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| projection_file | COMBO | The .safetensors file containing the pre-trained weights for the audio projection layer. | |
| target_device | COMBO | cpu | The device (CPU or CUDA) to which the projection layer will be assigned for computation. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| projection_layer | AUDIO_PROJECTION_LAYER | — |
| inferred_input_dim | INT | — |
| dim_a | INT | — |