Three bugs in MM WAV file tagging

This forum is for reporting bugs in MediaMonkey for Windows 4. Note that version 4 is no longer actively maintained as it has been replaced by version 5.

Moderator: Gurus

unzerpum
Posts: 18
Joined: Mon Jun 05, 2006 9:57 pm
Location: Hawaii

Three bugs in MM WAV file tagging

Post by unzerpum »

Hi --

I've discovered three bugs in MediaMonkey's wave file tagging, specifically related to files originally tagged with MusicMatch Jukebox or GoldWave.

The examples listed below are in this ZIP file:

WavTags.zip (217K)

1) When changing tags on wave files that were originally tagged with MMJB, MediaMonkey will append new tags to the end of the file without erasing/updating the old ones.

Steps to reproduce:

1) Drag a MMJB-tagged wave file to the MediaMonkey playlist (do not add it to the library). WavTag1.wav (from the ZIP file) is a good example. MM will read the nonstandard MMJB ID3 tags from the file.

2) Edit the tags for the wave file through Properties. Click OK to save the tags. WavTag2.wav was created during this step.

3) Delete the file from the playlist, then re-add it. This will remove the database entry for the wave file, forcing MM to re-scan the tags. Note that the tags MM displays are the ones from the original MMJB file; the changes you made are not visible.

4) Edit the tags for the wave file again through Properties. WavTag3.wav was created during this step.

5) Delete and re-add the file in the playlist. Notice that the displayed tags are still the ones from the MMJB file.

If you edit the wave file (WavTag3.wav) in a hex editor, you'll see that your previously added tags are still there, but appended to the end of the file. A new LIST INFO block is appended to the wave file every time you edit tags.

This leads into the second problem:

2) MM stops reading tags after it reaches its first tag block.

Whether the tag block is an MMJB ID3 block, or an MM-created LIST block, once MM reads it, it ignores any further data blocks. Since MM doesn't delete the original ID3 block during editing, this guarantees that changes made to the wave file are never visible when the file is rescanned. (WavTag3.wav is a good example of this -- it has three blocks of tag data, but only the MMJB tag info will ever show up.)

MediaMonkey should keep reading to the end of the file, using the latest tags from each block, until it hits the end of the file. Not only will this ensure that MM tags override MMJB tags, but it will also "fix" the bug mentioned above, allowing you to see the last tags you entered, even if you have a corrupted file.

3) MM isn't tolerant of non UTF-8 ASCII tags in wave files tagged by other players.

When MM reads a non UTF-8 ASCII tag with characters outside the normal [1-127] range, it ignores the tag, treating it as an empty string. In the ASCIITag.wav example, the artist is "Änglagård" and the song title is "Höstsejd / Rösten", both of which are valid ASCII strings but not UTF-8 strings. The artist and title will show up blank when the track is displayed in MM.

Some tag editors, including GoldWave, encode tags in wave files as pure ASCII strings. MM should be more tolerant of these strings; if a tag can't be decoded as UTF-8, it should be rescanned as ASCII. That would improve compatibility with music files created by other applications.

Any questions, let me know...

(To answer your first question before you ask it... yes, I am crazy. :) )

--- Scott
Lowlander
Posts: 58969
Joined: Sat Sep 06, 2003 5:53 pm

Post by Lowlander »

Problems with WAV and MMJB vs. MM have been discussed recently. Peke seems to be the one looking into this issue.
Peke
Posts: 18439
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Post by Peke »

@unzerpum
Crazy Hmmmm..... Ok if you say so but that rises question how to classify myself.

Like many times in the past MM Community proved that they are right. So this was the case also. I'll see to this problem ASAP. I'm glad that MMJB is read correctly finally.

Now the answers.

MM will not update change MMJB ID3 Tag info because it is non standard and we stick to standards (but who knows), which is in WAVE Tag a RIFF LIST Info Chunk. Althru due to compatibility MM will read all needed from MMJB.
Last edited by Peke on Fri Jun 30, 2006 2:14 pm, edited 1 time in total.
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
Lowlander
Posts: 58969
Joined: Sat Sep 06, 2003 5:53 pm

Post by Lowlander »

Oh, my understanding from other posts was that you were handling this issue, sorry.
Peke
Posts: 18439
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Post by Peke »

I'm on issue.
No need to be sorry for anything, I'm the one that needs to thank you.
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
sunspot
Posts: 114
Joined: Fri Jun 16, 2006 11:45 pm

sunspot

Post by sunspot »

Peke wrote:@unzerpum
MM will not update change MMJB ID3 Tag info because it is non standard and we stick to standards (but who knows), which is in WAVE Tag a RIFF LIST Info Chunk. Althru due to compatibility MM will read all needed from MMJB.
Maybe MediaMonkey should write MMJB ID3 Tags whenever they're already present in the file, but otherwise should stick to the standard. I mean, if the files are already non-standard, it's not as though MM would be contributing to the problem.

Another possibility would be to have Media Monkey allow you to view MMJB .wav tags OR standard RIFF .wav tags, based off of some configuration setting in MM the user could select, but to always write the standard tags. You could then use MM's synchronization function to keep the standard tags in sych with any changes made to the MMJB tags if you wanted to. You'd first scan in the files with the option to read MMJB tags selected, then you'd do a synchronization which would update the RIFF tags, then you'd deselect the view MMJB tags option if you wanted to see only the RIFF tags going forward.

Thanks for all the work you're doing on this, Peke! I really, really appreciate it. Thanks to you I hope I'm only a month or so away from being able to convert my library from .wav to .FLAC (and possibly an Apple Lossless copy as well, for use with an iPod . . . but we'll see about that - I may just make .AAC copies of my library for use with iTunes).
Lowlander
Posts: 58969
Joined: Sat Sep 06, 2003 5:53 pm

Post by Lowlander »

One question would be if MMJB can read the standard tags?

Anyway it would make sense to have an option that would allow users to select:
- Delete non standard tags and only use standard tags
- Ignore non standard tags
- Update standard tags and non-standard tags (to whatever extent MM supports them).

- A scan option would be to allow/not allow MM to get standard tag info from non standard tags if standard tag is empty on scanning tracks.
Peke
Posts: 18439
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Post by Peke »

The solution Would be as I look at it to MM read all supported tags with priority to Standard one and if something is missing then it should fill missing entries from non standard one.

Writing of Multiple standards isn't currently possible.
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
sunspot
Posts: 114
Joined: Fri Jun 16, 2006 11:45 pm

MMJB .wav tags

Post by sunspot »

That sounds like a good solution, although I have a few files that have both sets of tags (ripped in Exact Audio Copy, later imported to MMJB and retagged) with different information in each. But I can work around that problem.

Unfortunately, MMJB cannot read the standard tags. Or I guess I should say the "more standard" tags, since it's my understanding no .wav tag format is really standard, since Microsoft never specified one . . .
Peke
Posts: 18439
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Post by Peke »

@Sunspot
You are wrong RIFF List INFO chunk is specified in 1995(or 1997). When Microsoft introcuded Sound Schemes. They even had Pictures in WAV (Which will I hope also be supported in MM) but Limit was to ASCII and when ID3v1 was introduced and its easy to make many of apps used it.

Search for free app GSpot v2.21 that have all info about List Info Chunk even in AVI Files :)
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
sunspot
Posts: 114
Joined: Fri Jun 16, 2006 11:45 pm

.wav tags

Post by sunspot »

Peke wrote:RIFF List INFO chunk is specified in 1995(or 1997). When Microsoft introcuded Sound Schemes. They even had Pictures in WAV (Which will I hope also be supported in MM)
Interesting. I did not know that.

I read somewhere once that the .wav format was based on one of the old Amiga / Electronics Arts .iff file formats. Is that true? I seem to recall that .iff had support for metadata way back in the '80s.
Peke
Posts: 18439
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Post by Peke »

Sunspot
You are right my Old Atari Mega STE used iff files as System sounds
there are variation but basicaly as I recall it was called AIFF (Audio Information File Format *.IFF).
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
sunspot
Posts: 114
Joined: Fri Jun 16, 2006 11:45 pm

MMJB .wav tags

Post by sunspot »

How's the fix on this going? Do you need anyone to help test it? I've got a large library of MMJB-tagged .wav files, some of which have standard .wav tags as well, and would be happy to see how Media Monkey handles them.
Bex
Posts: 6316
Joined: Fri May 21, 2004 5:44 am
Location: Sweden

Post by Bex »

Check out the latest beta released yesterday it has this fix:
- Fixed some MusicMatch wav tags aren't read correctly

http://www.mediamonkey.com/forum/viewtopic.php?t=11206


/Bex
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!

All My Scripts
sunspot
Posts: 114
Joined: Fri Jun 16, 2006 11:45 pm

Tried the Beta

Post by sunspot »

It sorta works. It reads the year tag now, which is great, but it doesn't seem to take updates for whatever reason. I'll update the tag info, synchronize, and when I rescan the tags in they still contain the old info.

It also seems to have trouble with accented characters.

I just went thru, fixed what I could in the library, then began converting the files to FLAC. Seems to be working well so far. I'm glad to be getting away from .WAV files and toward a format better suited to storing music. It also looks like I'm gonna save between 60 - 90 gigabytes of drive space, which is nothing to sneeze at! That'll make it much easier to backup my library.
Post Reply