Read Audio Tags π
Read the Recipe Back Out of Your Audio File π
- title
- artist
- album
- genre
- year
- publisher
- copyright
- composer
- album_artist
- bpm
- initial_key
- isrc
- encoder
- track_number
- comment
- lyrics
- license
- cover_image
You know how ComfyUI welds the whole workflow into a PNG, and dragging the image back rebuilds the graph? Read Audio Tags π is the audio version of that idea, pointed the other way: it peels the metadata back out of a tagged audio file and hands it to you as clean strings you can use in the graph.
It comes from the comfy-audio-tagger pack (lakeconstance78), the small utility family that adds proper tags to MP3/FLAC/M4A/OGG/AIFF. This node is the read side of that story. After you save a track with one of the "Save * with Tags" nodes, drop this in and you can verify the whole round-trip - or, more usefully, take a file that already has tags (yours, a sample pack's, a splice you downloaded) and pull its info into your workflow without leaving ComfyUI.
What you give it, what you get back
The only input is file_path - a plain string. Wire it straight from the file_path output of any Save node in this pack, or type a path by hand. There's no file picker, so if you're not chaining from a save node, expect to paste something like C:\ComfyUI\output\audio\ComfyUI_MP3_00001.mp3.
The outputs are the interesting part. You get 17 string outputs - title, artist, album, genre, year, publisher, copyright, composer, album_artist, bpm, initial_key, isrc, encoder, track_number, comment, lyrics, and license - plus one real IMAGE output, cover_image. That last one is the sleeper feature: the embedded cover art comes out as a usable image tensor, so you can preview it, feed it to a captioning model, or use it as a video thumbnail without a separate tool. ComfyUI knows about the node as an output node too, so a summary of everything it read also prints to the console.
How it reads
Under the hood it uses mutagen's generic File() opener, which sniffs the container and routes to the right tag format automatically - ID3 for MP3 and AIFF, Vorbis comments for FLAC and OGG, MP4 atoms for M4A. You don't pick a format; it just works on whatever you point it at. That's the whole trick of the pack: one Python library, and this node is a thin, honest wrapper around it.
Two gotchas so you don't think it's broken:
- If the file doesn't exist or has no tags, every string output comes back empty and
cover_imageis a black 64Γ64 tensor. It's a graceful fallback, not a crash - but a black "cover" wired into something downstream can look like a bug. Guard with a conditional if it matters. - M4A license handling is quirky by design. The save node for M4A has no native license field, so it stuffs
License: <value> | <comment>into the comment atom - and this reader knows to split it back out into the separatelicenseandcommentoutputs. Clever, but it means the raw comment on an M4A file in any other tool shows the merged string.
Install
ComfyUI Manager is the easy path once the pack is registered - search "ComfyUI Audio Tagger" and install. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/lakeconstance78/comfy-audio-tagger
cd comfy-audio-tagger
pip install -r requirements.txt # on Windows portable: ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt
Then restart ComfyUI. That's genuinely it - the only dependency is mutagen, no models, no torch extensions.
The honest take
This pack has essentially zero community footprint - none of its eight nodes show a single search impression, and nobody's talking about it on the forums. It doesn't need to be famous, though. For the narrow job of "get the tags out of an audio file inside ComfyUI," Read Audio Tags is the only node in this pack you'll keep reaching for, because it's the one that closes the loop: save tagged, read tags, believe nothing got lost. Toss it after a Save MP3 with Tags and you'll see the round-trip happen in the console. That verification is worth the install alone.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| file_path | STRING | β |
Outputs (18)
| Name | Type | Description |
|---|---|---|
| title | STRING | β |
| artist | STRING | β |
| album | STRING | β |
| genre | STRING | β |
| year | STRING | β |
| publisher | STRING | β |
| copyright | STRING | β |
| composer | STRING | β |
| album_artist | STRING | β |
| bpm | STRING | β |
| initial_key | STRING | β |
| isrc | STRING | β |
| encoder | STRING | β |
| track_number | STRING | β |
| comment | STRING | β |
| lyrics | STRING | β |
| license | STRING | β |
| cover_image | IMAGE | β |