Bug 11789 - WAV tag 'ICRD' (year) not recognized/implemented
: WAV tag 'ICRD' (year) not recognized/implemented
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Tagging
: unspecified
: PC Windows Vista
: -- enhancement (vote)
: 7.4.0
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-04-13 13:41 UTC by Robert
Modified: 2009-10-05 14:36 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
A test WAVE format file containing older style (aka RIFF) tags, including INAM, IART, IPRD, IGNR and ICRD (1.87 MB, application/octet-stream)
2009-04-15 02:05 UTC, Robert
Details
Microsoft's RiffWalk executable that will highlight errors in WAVE format files (39.58 KB, application/octet-stream)
2009-04-15 10:07 UTC, Robert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert 2009-04-13 13:41:09 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
Comment 1 Spies Steven 2009-04-14 10:44:45 UTC
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.
Comment 2 Andy Grundman 2009-04-14 11:08:37 UTC
Will add if you can provide a small test file.
Comment 3 Robert 2009-04-15 02:05:03 UTC
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
Comment 4 Spies Steven 2009-04-15 08:55:49 UTC
Robert, RiffWalk.exe sounds like a handy tool to have.  Any idea where it can still be found?
Comment 5 Andy Grundman 2009-04-15 09:09:03 UTC
Very useful, thanks!
Comment 6 Robert 2009-04-15 10:07:25 UTC
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
Comment 7 Andy Grundman 2009-06-09 14:08:35 UTC
Supported in 7.4.
Comment 8 James Richardson 2009-10-05 14:36:28 UTC
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.