Nodes/ComfyUI Audio Expo/Open Audio in Player
ComfyUI Node

Open Audio in Player

Hear what ComfyUI just made, without saving a thing

By mattjohnpowell·Created 7 months ago·Updated about a month ago· 3
Open Audio in Player
  • audio
  • audio
playerAuto

The easiest way to hear what ComfyUI just generated is also the most overlooked. Open Audio in Player takes an AUDIO tensor, writes it to a temp file, opens it in your media player, and gets out of the way - no save-to-disk ceremony, no hunting through the output folder, no having to wire up a "preview" node that doesn't exist in core ComfyUI. It's the smallest node in the ComfyUI Audio Expo pack and arguably the one you'll hit most often while iterating.

It's also the engine behind the play_in_player toggle on the pack's other two nodes (Save Audio and Lyrics Video Generator). Understand this one and you understand all of them.

How it works

Dumb and reliable, which is what you want here. The node takes the audio dict (waveform + sample rate), moves it to CPU, takes the first item in the batch if there's a batch, writes a WAV into ComfyUI's temp directory using Python's standard wave module, and spawns the player as a subprocess. Non-blocking - generation continues the moment the player launches. If the player can't be found, it logs a warning to the console and moves on rather than crashing your whole queue. That "never raises" design is deliberate and it's the right call.

The player dropdown is platform-aware: options are Auto, VLC, mpv, and System Default, plus Windows Media Player if you're on Windows. Auto tries VLC → WMP (Windows) → mpv → your OS default in order, and here's the genuinely good part: VLC gets --playlist-enqueue and mpv gets --playlist-end, so with either installed your previews queue instead of interrupting whatever's playing. That's the whole "infinite radio" workflow - each generated track lands in the player's queue while the next one renders. The README's recommendation to install VLC or mpv for queue support is not optional fluff; it's what makes this pattern work.

Inputs and outputs

Just two things to know. In: audio. Out: audio, passed through untouched, so you can drop this node anywhere in a chain - mid-pipeline preview without rerouting anything.

Installing it

Same pack as the other two nodes, one install:

cd ComfyUI/custom_nodes
git clone https://github.com/mattjohnpowell/comfyui-audio-expo
cd comfyui-audio-expo
pip install -r requirements.txt

Use the Python environment ComfyUI actually runs (portable installs: python_embeded), then restart. Or ComfyUI Manager → "Install via Git URL" with the repo URL. The requirements are light here - mutagen, moviepy, imageio_ffmpeg, proglog - because this node only writes a WAV; the heavy stuff serves the pack's other nodes.

The one real caveat

Playback happens on the machine running ComfyUI - server-side. Locally that's exactly what you want. On a cloud/remote box, your audio plays there, not in your browser, and you'll sit wondering why nothing happened. If you run ComfyUI on a server, skip this node for previewing and rely on saving files instead. If you're local and nothing opens, check the console for [AudioExpo] WARNING: ... not found - that's the signal to install VLC or mpv. Everything else is just "wire it in and listen."

CategoryAudio/Expo

Inputs (2)

NameTypeDefaultDescription
audioAUDIO
playerCOMBOAuto4 options: Auto, VLC, mpv, System Default

Outputs (1)

NameTypeDescription
audioAUDIO