Studio42 Audio Loader
Get audio into the graph — with trim, normalize, fades and loudness stats
- audio_in
- audio
- duration
- sample_rate
- audio_info
- waveform_data
- analysis
Studio42 Audio Loader is the front door for audio in this pack: it loads a file from disk (or passes through an upstream AUDIO input) and converts it into the AUDIO dict that ComfyUI's audio nodes expect - waveform plus sample_rate - while optionally trimming, normalizing, fading, and analyzing it along the way. If you've been confused about how to get sound into a ComfyUI graph at all, this is the missing piece: most video workflows here deal in images and frames, and audio needs a dedicated loader.
It supports WAV, MP3, FLAC, OGG, AIFF, M4A, AAC, and WMA via torchaudio/soundfile, which covers essentially everything you'll have on disk.
What you set
- audio_file - pick or upload the file. The tooltip says it plainly: this is ignored if
audio_inis connected. So you can either load from disk or pass an upstream AUDIO through. - output_sample_rate - resample target (44100 CD, 48000 pro).
- output_channels -
keep_original,mono, orstereo.
The optional block is where the loader earns its keep:
- enable_trim with trim_start/trim_end - cut silence or lead-in/out in seconds.
- max_duration - hard cap on length.
- normalize_audio - even out levels on load.
- fade_in/fade_out - up to 10s each, useful for dropping audio into a video bed without a click at the cut.
- volume_adjustment - a simple gain, 1.0 = original.
- generate_waveform_data and analyze_loudness - both on by default, feeding the metadata outputs below.
- detect_silence - off by default; flip it on to find quiet gaps.
- resampling_method -
sinc_interp_kaiser,sinc_interp_hann, orlinear.
What comes out
Six outputs: audio (the AUDIO dict to wire onward), duration (FLOAT), sample_rate (INT), and three STRING outputs - audio_info, waveform_data, and analysis - carrying the file metadata and the loudness/waveform analysis. Those strings are great for logging or for feeding a debug node while you set up the graph.
Installing it
Same pack, 24oiduts-ComfyUI:
- ComfyUI Manager: search 24oiduts, install, restart.
- Manual:
then restart.cd ComfyUI/custom_nodes/ git clone https://github.com/GeekyGhost/24oiduts-ComfyUI pip install -r 24oiduts-ComfyUI/requirements.txt
It needs torchaudio and soundfile (both in the pack's requirements.txt). The GitHub README is a stale Studio42 template warning the project is WIP with no license - an unmaintained banner, not a statement about this code.
Troubleshooting
- Node fails on load -
torchaudio/soundfilemissing; install into ComfyUI's venv and restart. audio_filedropdown is empty - the enum lists files it finds in the expected input folder; either upload via the node or check where it's scanning. Connectingaudio_insidesteps the picker entirely.- Format won't decode - some exotic codecs need system FFmpeg; the pack's video nodes document the same requirement, and a system FFmpeg install fixes most of it.
Load, normalize, fade, and analyze in one node - if you're doing anything audio in this pack, this is the starting point.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_file | COMBO | Pick or upload an audio file (WAV, MP3, FLAC, OGG, AIFF, M4A, AAC, WMA). Ignored if 'audio_in' is connected. | |
| output_sample_rate | INT | 441008000–192000 | Target sample rate (44100=CD, 48000=pro). |
| output_channels | COMBO | keep_original | Channel configuration. |
| audio_inopt | AUDIO | Optional upstream AUDIO. If provided, file selection is ignored. | |
| enable_trimopt | BOOLEAN | false | — |
| trim_startopt | FLOAT | 0.00–3600 | — |
| trim_endopt | FLOAT | 0.00–3600 | — |
| max_durationopt | FLOAT | 0.00–3600 | — |
| normalize_audioopt | BOOLEAN | false | — |
| fade_inopt | FLOAT | 0.00–10 | — |
| fade_outopt | FLOAT | 0.00–10 | — |
| volume_adjustmentopt | FLOAT | 1.000–5 | — |
| generate_waveform_dataopt | BOOLEAN | true | — |
| analyze_loudnessopt | BOOLEAN | true | — |
| detect_silenceopt | BOOLEAN | false | — |
| resampling_methodopt | COMBO | sinc_interp_kaiser | 3 options: sinc_interp_kaiser, sinc_interp_hann, linear |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| duration | FLOAT | — |
| sample_rate | INT | — |
| audio_info | STRING | — |
| waveform_data | STRING | — |
| analysis | STRING | — |