PDA

View Full Version : Batch Converter Issues



apb
05-17-2008, 12:25 AM
Hi,

I just downloaded the reference version of dbPowerAmp R12.4 to test it's appropriateness and viability for helping manage my music collection. First off, I'd like to state that I'm extremely pleased with it's capabilities and speed (253x real time for wav -> alac). I've already used EAC to rip ~400 CDs to WAV files and I've used MediaMonkey to manage the library and tags and I've used squeeze center to verify the tags are accurate and readable by other applications. The task I want to do is batch convert the library to FLAC, ALAC and mp3 for various uses. However, I've run into a couple of issues while testing out the conversion to ALAC:

*******************************
1. Files names with unicode characters get munged:

For instance:

C:\music\wav\Hndel, Georg Frideric (1685-1759)\Hndel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)

Gets written as:

C:\music\test\Händel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)\01 Water Music - Horn Suite in F major - I. Overture- Largo -- Allegro

*********************************

2. Unicode in tags gets munged:

For instance, the artist tag:

Hndel, Georg Frideric; The Academy of Ancient Music; Hogwood, Christopher

appears like (in ITunes):

Händel, Georg Frideric; The Academy of Ancient Music; Hogwood, Christopher

Note, I've gone to advanced options and set all ANSI codec defaults to unicode.

Note: I'm sure media monkey is storing the unicode properly since I can scan the music library into squeeze center and all the characters are appropriate.

*********************************
3. The album artist, conductor and composer tags are not being found.


Here are the audio details for an example file:
========================================
Audio Details for: C:\music\wav\Hndel, Georg Frideric (1685-1759)\Hndel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)\01 Water Music - Horn Suite in F major - I. Overture- Largo -- Allegro.wav

Length: 3 minutes 16 seconds
Channels: 2 (stereo)
Sample Rate: 44.1 KHz
Sample Size: 16 bit
Bit Rate: 1,411 kbps (CD)

Audio Properties:

Audio Quality: CD (Lossless)
Encoder Settings: PCM
Wave Header: Wave Format PCM
Channel Mapping: Left, Right
Sample Count: 8,657,124
Riff Chunks: 'fmt ' 16 bytes, 'data' 33.02 MB, 'LIST' 432 bytes
ID Tag: LIST
Contains: ID Tag [LIST]
Gapless: Yes

ID Tags:

Title: Water Music - Horn Suite in F major - I. Overture- Largo -- Allegro
Artist: Händel, Georg Frideric; The Academy of Ancient Music; Hogwood, Christopher
Album: Händel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)
Genre: Classical
Technician: Hogwood, Christopher
Track: 1
Year: 1997
_riff_1: DATA Length: 4 fmt
_riff_2: DATA Length: 4 data

It looks like the conductor field that MediaMonkey is saving is the "Technician" field found by audio info. The album artist and conductor fields are not being found at all, although when I look at the end of the .wav file I see that the data is in the file.

Here is a bit of the end of the wave file:

LISTINFOINAMD Water Music - Horn Suite in F major - I. Overture- Largo -- AllegroIARTLHändel, Georg Frideric; The Academy of Ancient Music; Hogwood, ChristopherIPRDUHändel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)IGNR
ClassicalIMUS$Händel, Georg Frideric (1685-1759)ITCHHogwood, ChristopherIAAR$Händel, Georg Frideric (1685-1759)itrk1ICRD1997IRVA-100

The 2 duplicate sections:
Händel, Georg Frideric (1685-1759)
are the album artist and composer tags.

*********************************
4. All the CD art files are being ignored. All CDs in my collection have a file called folder.jpg file in them. This file isn't being copied over even though I've checked the box for "Export Folder.jpg" under DSP Effects/Actions.

*********************************
5. When I look at the conversion information, I get a lot of messages like:

Information converting to [Audio Info], 'C:\music\wav\Hndel, Georg Frideric (1685-1759)\Hndel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)\01 Water Music - Horn Suite in F major - I. Overture- Largo -- Allegro.wav' to 'C:\music\wav\Hndel, Georg Frideric (1685-1759)\Hndel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)\01 Water Music - Horn Suite in F major - I. Overture- Largo -- Allegro.IGNORE'
Unknown LIST sub chunk 'IMUS' Dropping it. [clRIFFLISTChunk::InitFrom]
Unknown LIST sub chunk 'IAAR' Dropping it. [clRIFFLISTChunk::InitFrom]
Unknown LIST sub chunk 'IRVA' Dropping it. [clRIFFLISTChunk::InitFrom]

Should this be worrying me?

*********************************

6. It would be extremely convenient if there was an option to automatically copy all non-audio files into the new location. Files such as art, playlists, log files and cue sheets would be very nice to automatically be copied.

*********************************

PS My system is Windows XP 64 SP 2 with a quad core processor and 8GB of memory.

LtData
05-17-2008, 01:00 AM
1, 2. Version of dMC?
4. Do you have the album art embeded in the files or just in the folder? The export option only works if the album art is embedded.

Spoon
05-17-2008, 03:17 AM
C:\music\wav\Hndel, Georg Frideric (1685-1759)\Hndel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)

Gets written as:

C:\music\test\Händel - Water Music, The Musick for the Royal Fireworks, The Alchymist (CD 1 of 2)\01 Water Music - Horn Suite in F major - I. Overture- Largo -- Allegro



As these are from naming, they are in the ID Tags, these are probabbly not stored as correct unicode (they look like they are utf 8, which is no valid for wave files). Just seen point 3:

Contains: ID Tag[list]

Wave List tags cannot be UTF8, which ever program created them is breaking the standard.

You need to import the folder.jpg, and export at the same time.

5. Don't worry

apb
05-17-2008, 07:12 AM
>>> 1, 2. Version of dMC?

dbPowerAmp R12.4 not sure if dMC has a separate version number or how to get it if it does.

>>> As these are from naming, they are in the ID Tags, these are
>>> probably not stored as correct unicode (they look like they are utf 8,
>>> which is no valid for wave files). Just seen point 3:

MediaMonkey claims to use the encoding for tags: "ASCII + UTF-16 (when needed)" which sounds like bad way of saying UTF-8. An independent application, Squeeze Center, can read through all ~5k WAV files and gets all the special characters correct so I have a fairly strong belief that MediaMonkey is probably doing the right thing or at least doing something not too unexpected. A large percentage of my music library has special characters in them, not being able to deal gracefully with them would be bad 8-(.

>>> You need to import the folder.jpg, and export at the same time.

Thanks, this seemed to fix the issue!

apb
05-17-2008, 08:57 AM
>>> Wave List tags cannot be UTF8, which ever program created
>>> them is breaking the standard.

That may be, but other programs like Squeeze Center are able to read and deal with these files just fine. Maybe there could be an option like "expect utf 8 in wav tags" in the batch converter that people could use who use MediaMonkey (which is very popular) or other such tools that use this encoding.

Is there maybe some tool or conversion that will fix utf8 tags in wav files and convert them to utf16 automatically? I have a huge number of hours invested in tagging these files already and I have a very large number of files. Fixing them by hand is not an option.

Spoon
05-17-2008, 10:50 AM
>"expect utf 8 in wav tags"

Except switching this on would also cause certain non-utf 8 tag to decode incorrectly...

We also support the 'id3 ' chunk wave tagging standard (same as Tag & Rename), not sure if MM supports this, anyhow it is in R13 (currently in beta).

Put it this way, you cannot have unicode anything with wave list, you can with an id3 chunk.

apb
05-17-2008, 11:05 AM
>"expect utf 8 in wav tags"

Except switching this on would also cause certain non-utf 8 tag to decode incorrectly...

We also support the 'id3 ' chunk wave tagging standard (same as Tag & Rename), not sure if MM supports this, anyhow it is in R13 (currently in beta).

Put it this way, you cannot have unicode anything with wave list, you can with an id3 chunk.

Hmm, somehow MediaMonkey and Squeeze Center both manage to deal with these files and preserve the unicode and other tags in the wave file just fine. I wonder how they do it? Maybe it isn't 100% according to spec (I'll trust you on this one since I've never read the spec), but dealing with reality is that major applications are generating files with fields formatted like this and are dealing with them just fine. I'm not trying to sound mean, I really love what I've seen of dbPowerAmp so far I think you've done a great job, I'm just a bit frustrate because I've invested so much time in generating the tags that it's easy to get annoyed when they aren't dealt with properly by other applications (even when it's warranted that they don't deal with the tags).

Any news on why it's not understanding the composer, conductor and album artist tags? Not understanding the "album artist" tag is probably the biggest issue (after unicode) since my library file structure is based on it.

Spoon
05-17-2008, 12:48 PM
Unknown LIST sub chunk 'IMUS' Dropping it. [clRIFFLISTChunk::InitFrom]
Unknown LIST sub chunk 'IAAR' Dropping it. [clRIFFLISTChunk::InitFrom]
Unknown LIST sub chunk 'IRVA' Dropping it. [clRIFFLISTChunk::InitFrom

These are the 3 tags you mention, these programs have made up these values, again not to the spec.

It is possible to write utf-8 to an ID3v1 tag (for mp3), thus making it unicode, but it is not the standard and does not make it right, it would cause problems for other programs...

Wave 'id3 ' chunks are they way you have unicode tags in wave files.

apb
05-17-2008, 03:41 PM
Ok, I've figured out a solution to my problem. I can convert all the MM wav files (non-compliant) to FLAC (compliant) from inside of MM. I want the FLAC files anyways so this isn't too bad (except transcoding doesn't take advantage of the multiple cores so it's pretty slow). Then I can use dbPowerAmp to convert the compliant FLAC files into ALAC, then all the tags and artwork are copied over perfectly!

PS I can perfectly well understand not wanting to generate non-compliant WAV files...then you get the blame whenever someone else's application breaks from the files that you create. However, being able to read common variations of non-compliant WAV files seems like a very good thing and would help to make your customers happier 8-).

PekeMM
04-02-2009, 08:29 AM
As part of MM dev team I wanted to clear things up little.

RIFF TAGS MM CURRENTLY WRITES
----------------------------------

1. INAM - Name/Title | 1. (FF_Title)
2. IART - Artist | 2. (FF_Artist)
3. IPRD - Product | 3. (FF_Album)
4. IGNR - Genre | 4. (FF_Genre)
5. ICMT - Comments | 5. (FF_Comment)
6. ICMS - Commissioned | 6. (FF_Publisher)
7. ICOP - Copyright | 7. (FF_CopyRight)
8. ISRC - Source | 8. (FF_ISRC)
9. ISFT - Software | 9. (FF_Encoder)
10. IMUS - Music by | 10. (FF_Composer)
11. IWRI - Written by | 11. (FF_Lyricist)
12. ITCH - Technician | 12. (FF_Conductor)
13. IAAR - Album artist | 13. (FF_Band)
14. ISBJ - Subject | 14. (FF_Subtitle)
15. itrk - Track Number | 15. (FF_TrackNumber)
16. ICRD - Creation Date | 16. (FF_Year)
17. IRTD - Rating | 17. (FF_Rating)
18. ITGL - Track Gain Level | 18. (FF_RGtrackgain)
19. IRVA - Track Peak level | 23. (FF_RGtrackpeak) Relative volume adjustment

Also using Simply INI setting it can be switched back to standard ASCII
[WAVTagging]
ReadWriteUTF8=0

Note that most of above Metadata settings are based on RIFF INFO CHUNK spec for both Audio and Video Formats.

PekeMM
04-02-2009, 09:48 AM
This can be clearly seen in GSpot v2.21 http://www.headbands.com/gspot/download.html

Spoon
04-07-2009, 08:07 AM
Do you know of any other programs which use these fields? (IMUS, etc)

PekeMM
12-21-2009, 06:26 PM
Last Time I checked Sony SoundForge Used it.

Spoon
12-22-2009, 05:25 AM
>18. ITGL - Track Gain Level | 18. (FF_RGtrackgain)

Soundforge almost certainly will not use the above, and I think the others are a single standard also (last time I checked in soundforge). If you tag a file in soundforge with all the fields, any which are in soundforge and mm I can add.