ComfyUI Node

MSST Save Audio

Wav, flac, or mp3 — and the mp3 secretly leans on MSST's own ffmpeg

By Wang-Huachen·Created 4 months ago·Updated 4 months ago· 0
MSST Save Audio
  • audio
  • filepath
folder_path
filenameaudio
formatwav

Every separation workflow ends the same way: with a stem you actually want as a file. MSST Save Audio is the pack's output node - the one marked as an output node in ComfyUI, the last stop after a track has been split into vocals, drums, bass, whatever. Give it an AUDIO and it writes WAV, FLAC, or MP3 to a path you choose, then hands you the full path back as a string.

How it works

Two different encoders under one hood. WAV and FLAC go through soundfile directly - WAV as float32, FLAC as 24-bit PCM, both lossless-ish and both cheap. MP3 is the interesting one: the node shells out to the ffmpeg.exe bundled inside your MSST WebUI installation and encodes at 320kbps, falling back to whatever ffmpeg is on your system PATH if the bundled one isn't there. That's a genuinely thoughtful detail - MP3 encoding usually means installing ffmpeg and hoping ComfyUI's Python sees it; here it mostly rides along with the MSST portable package you already installed for the separators.

The inputs that matter

Four inputs, and honestly you'll set three of them on almost every run:

  • audio (AUDIO) - plug a stem output from MSST Audio Separate or UVR Audio Separate straight in.
  • folder_path (STRING) - where to save. Default is an empty string, which means "the current working directory," and that's rarely where you meant. Wire this from MSST Load Audio's folder_path output, or type an absolute path, or this node will quietly scatter files into wherever ComfyUI was launched from.
  • filename (STRING) - base name, default audio. Here's where the pack's naming convention pays off: feed it the separator's stem_x_fn output and you get song_vocals.wav instead of audio.wav.
  • format (COMBO) - wav, flac, or mp3, default wav.

One output, filepath (STRING) - the absolute path of the file just written, useful if you want to display it, log it, or pass it to something that consumes paths.

Typical wiring

The canonical tail of an MSST workflow, straight from the pack's own example:

MSLoadAudio → MSSTSeparate ── stem_0 ──→ MSSaveAudio.audio
                  └───────── stem_0_fn ─→ MSSaveAudio.filename
MSLoadAudio ───── folder_path ─────────→ MSSaveAudio.folder_path

Installing it

Same one-time install as the rest of the pack - the node ships inside ComfyUI-MSST-WebUI, so there's no separate setup:

cd ComfyUI/custom_nodes/
git clone https://github.com/Wang-Huachen/ComfyUI-MSST-WebUI

Then set msst_root in custom_nodes/ComfyUI-MSST-WebUI/config.json to your MSST WebUI portable install (the README's example is a MSST_WebUI_1.7.0_v2_cu128 build) and restart ComfyUI. ComfyUI Manager can install it too. WAV and FLAC will work even before you configure MSST, since they only need soundfile; MP3 is the format that depends on the MSST install being found.

Common issues

  • Files landing in the wrong place is the #1 gotcha - blank folder_path means "wherever the process started." Always wire or set it.
  • MP3 fails while WAV works - the node couldn't find MSST's bundled ffmpeg, so check config.json's msst_root, or make sure a system ffmpeg exists as a fallback.
  • Silent overwrites. Nothing warns you before clobbering an existing file. If you batch-separate, change the filename or clear the folder first.
  • WAV files are big - float32 WAV eats disk fast on a full song. FLAC gives you the same quality at a fraction of the size, and MP3 is there when you want portability.

It's a simple node with one job, and it does it well. Just respect the folder_path, use the _fn strings, and you'll never fight it again.

Categoryaudio/separation

Inputs (4)

NameTypeDefaultDescription
audioAUDIO
folder_pathSTRING
filenameSTRINGaudio
formatCOMBOwav3 options: wav, flac, mp3

Outputs (1)

NameTypeDescription
filepathSTRING文件保存完整路径