MP3 Diags - Transformations - Details
Description: End-user documentation for MP3 Diags, an MP3 analysis tool that also includes correction and tag editing functionality
Keywords: MP3, diags, diagnosis, tag editor, tagger, normalizer

Main window - Tools | User's guide - Transformations - Details | Main window - All notes

These are the transformations that are currently part of MP3 Diags (note that some are hidden by default, and you should make them visible in the configuration dialog if you think you might need them):

Restore flipped bit in audio | Sometimes a bit gets flipped in a file. This tries to identify places having this issue in audio frame headers. If found, it fixes the problem. It is most likely to apply to old files that have 2 audio streams, but even then, the odds of it doing anything good are rather slim (but it shouldn't do anything bad either.) I implemented it first for a test, and I decided to keep it after seeing that it was able to fix audio issues in several of my old files.
Remove inner non-audio | Removes all non-audio data that is found between audio streams. In this context, VBRI streams are considered audio streams (while Xing streams are not.)
Remove unknown streams | Removes all unknown streams.
Remove broken streams | Removes all broken streams.
Remove unsupported streams | Removes all unsupported streams.
Remove truncated audio streams | Removes all truncated audio streams.
Remove null streams | Removes all null streams.
Remove broken Id3V2 streams | Removes broken Id3V2 streams.
Remove unsupported ID3V2 streams | Removes unsupported Id3V2 streams.
No change | Doesn't actually change the file, but it creates a temporary copy and it reports that it does change it. This is not as meaningless as it might first seem: if the configuration settings indicate some action (i.e. rename, move or erase) to be taken for processed files, then that action will be performed for these files. While the same can be achieved by changing the settings for unprocessed files, this is easier to use when it is executed on a subset of all the files (filtered or selected).
Remove multiple ID3 streams | If a file has multiple ID3 streams it keeps only the last ID3V1 and the first ID3V2 stream.
Remove mismatched Xing headers | Sometimes the number of frames in an audio stream is different from the number of frames in a preceding Xing (or Lame) header, usually because the audio stream was damaged. It's probably best for the Xing header to be removed in this case. If the audio is VBR, you may want to try "Repair VBR data" first.
Pad truncated audio | Pads truncated audio frames with 0 to the right. Its usefulness hasn't been determined yet (it might be quite low).
Repair VBR data | If a file contains VBR audio but doesn't have a Xing header, one such header is added. If a VBRI header exists, it is removed. If a Xing header exists but is determined to be incorrect, it is corrected or replaced. Only the first audio stream is considered; if a file contains more than one audio stream, this should be fixed first.
Rebuild VBR data | If a file contains VBR audio, any existing VBRI or Xing headers are removed and a new Xing header is created. Only the first audio stream is considered; if a file contains more than one audio stream, this should be fixed first.
Remove non-basic ID3V2 frames | Removes all ID3V2 frames that aren't used by MP3 Diags. You normally don't want to do such a thing, but it may help if some other program misbehaves because of invalid or unknown frames in an ID3V2 tag.
Discard invalid ID3V2 data | Copies only ID3V2 frames that seem valid, discarding those that are invalid (e.g. an APIC frame claiming to hold a picture although it doesn't). Handles both loadable and broken ID3V2 tags, in the latter case copying being stopped when a fatal error occurs.
Convert non-ASCII ID3V2 text frames to Unicode | Transforms text frames in ID3V2 encoded as Latin1 to Unicode (UTF16.) The reason to do this is that sometimes non-conforming software treats these frames as they are encoded in a different code page, causing other programs to display unexpected data. You need to configure the locale / codepage.
Change case for ID3V2 text frames | Transforms the case of text frames in ID3V2 tags, according to the global settings.
Add composer field to the artist field in ID3V2 frames | Adds the value of the composer field to the beginning of the artist field in ID3V2 frames. Useful for players that don't use the composer field, if you have the composer info filled in.
Remove composer field from the artist field in ID3V2 frames | "Undo" for "adding composer field." Removes the value of the composer field from the beginning of the artist field in ID3V2 frames, if it was previously added.
Fill in composer field based on artist in ID3V2 frames | Copies to the "Composer" field the beginning of an "Artist" field that is formatted as "Composer [Artist]". Does nothing if the "Artist" field doesn't have this format.
Make the largest image "Front Cover" and remove the rest | Keeps only the biggest (and supposedly the best) image in a file. The image type is set to Front Cover. (This may result in the replacement of the Front Cover image.)
Copy missing ID3V2 frames from ID3V1 | Copies frames from ID3V1 to ID3V2 if those tags don't exist in the destination or if the destination doesn't exist at all.
Remove all ID3V1 streams | Removes all ID3V1 streams.
Remove all APE streams | Removes all APE streams.
Remove all non-audio streams | Removes all non-audio streams, including Xing and LAME headers. You might want to use this if you want to start clean or if you plan to concatenate several files. In the latter case it's probably a good idea to run "Pad truncated audio" as well, but you should test it in your environment.
Reserve space in ID3V2 for fast tag editing | Adds extra spacing to the ID3V2 tag. This allows subsequent saving from the tag editor to complete quicker.
Remove extra space from ID3V2 | Removes large unused blocks from ID3V2 tags. (Usually these have been reserved for fast tag editing, in which case they should be removed only after the ID3V2 tag has all the right values.)

Main window - Tools | User's guide - Transformations - Details | Main window - All notes