Bugzilla – Bug 11789
WAV tag 'ICRD' (year) not recognized/implemented
Last modified: 2009-10-05 14:36:28 UTC
When reading LIST INFO chunks (old style tags) in WAVE format files, SqueezeCenter correctly finds and interprets INAM (track title), IART (track artist), IPRD (track album) and IGNR (track genre). However, the tag ICRD (year track recorded) is not supported. With the inclusion of this one extra tag then all SqueezeCenter Music Library functions (namely, Artist, Album, Genre and Year) will be supported for WAV files using the older tag style. The ICRD tag fits in at the same level and format as IPRD, IART, INAM etc; notably the ICRD tag is always 12 bytes long: "ICRD" followed by the field length (always 4) and then a 4 digit year. For example: "I" "C" "R" "D" "04" "00" "00" "00" "2" "0" "0" "9", representing a tag for this year. (Like other tags, the length is written 'backwards' in bytes. In pure byte format, it would be: 49 43 52 44 04 00 00 00 32 30 30 39
Robert, can you attach a small wav file that has all of the tags mentioned including the proposed ICRD year tag? Andy, this seems like a reasonable request. Not sure how difficult it is to implement though.
Will add if you can provide a small test file.
Created attachment 5123 [details] A test WAVE format file containing older style (aka RIFF) tags, including INAM, IART, IPRD, IGNR and ICRD Hi Andy, No problem, I have attached a small (11 second) WAV file that is compliant to Microsoft's WAVE file format including the LIST INFO chunk with all the requested tags. I have used Microsoft's RiffWalk.exe tool to verify the WAVE file and also verified that the attached is recognised by SqueezeCenter 7.3.2 (all except the year, of course!). Within the attached WAVE file you will find all 5 mentioned tags, namely INAM, IART, IPRD, IGNR and ICRD. When read correctly you should find: INAM: "Here Come The ABCs" IART: "They Might Be Giants" IPRD: "Here Come The Abcs With Tmbg - Original Songs About The Alphabet" ICRD: "2005" IGNR: "Soundtrack" Note that the year is stored as a string and not a number and the year is supposed to be always four bytes long, making the ICRD frame always in the format: "I" "C" "R" "D" 04 00 00 00 x x x x or (in byte format) 49 43 52 44 04 00 00 00 x x x x where x x x x equals the year in string format. Best, Robert
Robert, RiffWalk.exe sounds like a handy tool to have. Any idea where it can still be found?
Very useful, thanks!
Created attachment 5126 [details] Microsoft's RiffWalk executable that will highlight errors in WAVE format files Hi Steven, Andy, I can't remember where I downloaded the riffwalk.exe file from, however, it's not very big (40K) and so have attached it to this bug for you - it's not zipped nor compressed. Just save it and run it. Note that it seems to be very old, so will only work with 8.3 filenames as far as I can tell. (You'll get the error message "Cannot open..." if you attempt to open a WAV file not in 8.3 format). I usually rename my WAV file to test.wav and run it as: > riffwalk.exe test.wav You'll then see the chunk information output and if the file contains RIFF tags it will show you the tag names and lengths. It's most handy when there is an error as it will check lengths match fields, overall lengths, chunk lengths and check that everything is 16 bit aligned as far as I can tell. (Again, it's so old I just managed to get the .exe file - no documentation). Andy - I've also done some futher testing and note that WAVE files can happily contain multiple tags, all whilst in-keeping with the specification, however, SqueezeCenter always prefers the inferior RIFF tag to an IDv3.x tag, even if the IDv3.x tag appears earlier in the WAV file. I've added another bug (https://bugs-archive.lyrion.org/show_bug.cgi?id=11803) which, if you feel is worth considering, might be advantageous done at the same time as this request. I promise I'm done entering WAV tagging requests now! Best, Robert
Supported in 7.4.
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.