I discovered the following when converting multi-channel FLAC (4 channels: front left, front right, back left, back right) to ALAC.
- The first and most serious issue is that the header is invalid. The "atom size" before the 2nd 'alac' tag has to be 0x24 in all cases according to the ALAC magic cookie specification. When encoding a multi-channel file, dBpoweramp sets it to an incorrect value such as 0x3C. This corrupts the file and it cannot be read by any player including dBpoweramp.
- Secondly, ALAC does not support the above 4 channel mapping at all. The converted file uses an incorrect mapping (C L R Cs) which is the only 4 channel mapping supported by ALAC. dBpoweramp must either block such conversions or remix it into a compatible ALAC mapping such as 6 channel with silent audio. Additionally these converted 4 channel files cannot even be converted back into WAV (even after fixing the header); It just outputs a truncated file. However, converted 6 channel files can be converted back to WAV (after fixing the header).
Comment