Jump to content

WAV files with id3v2 tags


Recommended Posts

I can see a player supporting them, but it's tough to get a program to embed the metadata.


It is the other way around ! Give me a few hours and I'll have a program that stuffs it in, any way you like.

But then what ?

Then no player will be able to deal with it, up to "can't play" or static.


But I guess in the long term everything will grow towards eachother. :~)




Lush^3-e      Lush^2      Blaxius^2.5      Ethernet^3     HDMI^2     XLR^2

XXHighEnd (developer)

Phasure NOS1 24/768 Async USB DAC (manufacturer)

Phasure Mach III Audio PC with Linear PSU (manufacturer)

Orelino & Orelo MKII Speakers (designer/supplier)

Link to comment

The engineers at Logitech are telling me the SqueezeBox player supports ID3 tags in wav files. They didn't elaborate on what format they use or how to get the files tagged. I keep reading posts about different windows players that also support tags in wav files.





Small Green Computer


Link to comment

See below for a variety of links that discuss how ID3 is implemented in WAV files (the AIFF implementation is basically identical except for the endianness). Creating custom RIFF chunks is within the wav spec, and every implementation of ID3 tags in WAV use a custom RIFF chunk called "ID3 " (id3 padded with one char to meet the four character spec).


Regarding Peter's statement about playing static, any good wav decoder should skip over non-audio RIFF chunks (even these custom ones) so you don't get static. That said, some players are buggy and will play a few tenths of a second of static. I found this out the hard way with the Linux audiofile library (plays static). However the sndfile library in Linux does decode WAV/AIFF with id3 correctly.


I don't know if any Linux tag editors can write wav id3 tags though... I've always used dbpoweramp or Tag & Rename on Windows (and iTunes/dbpoweramp for AIFF) - maybe one of those can run under WINE.


WAV Spec:



Links discussing how ID3 tags are implemented with WAV files to conform to the spec:






MPD bugfix (first open source Linux player I know of supporting these tags for playback):



You can also check out music player daemon's source code to see how they implemented tag reading. Basically they have a function which parses the WAV file for RIFF chunk name id3 and passes the data from that chunk over to libid3tag.



mpdPup maintainer

Link to comment

I don't think there are any specific command line tools, but I think most of the heavy lifting has been done with libraries that need to be linked together to create the desired command line tool:


Riff manipulation (looks like it can read & write RIFF with new chunks)



ID3 manipulation:

libid3tag (used by mpd and many other projects):



libid3tag doesn't directly support wav files, so you need to use it for the id3 and another tool for RIFF manipulation.



Used by xbmc project and others (though they don't use 1.5.1 or later which supports RIFF ID3 chunks)


Taglib might allow reading/manipulation/writing all to be done from just that library.



Here's a wav manipulation CLI tool without tag support:






mpdPup maintainer

Link to comment
  • 3 months later...

I have search and read all the info this user community has posted. It looks like dbpower amp has the best support for tagging WAV files. They write wav tags in three formats. This is a quote from their developer "Spoon"


"Wave has many tagging types, most programs will not read any, we write WAVE List, IDv3v2 chunk, BExt"


Do anybody know how to write these tag types using a command line until in Linux?



Small Green Computer


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...