#################################################### ## ## ## Frank Klemm's MPEGplus/MusePaCk FAQ list ## ## ## #################################################### Questions in the future will be answered by a single number ... Q00: I want to report a bug ... A00: First download the newest version and try again. Often I found small but nasty bugs and flaws after downloading a new version or the bugs are reported very fast so they are already fixed. Always report version numbers and exact error messages! Q01: What versions of decoders are available and what're the differences? A01: mppdec 1.7.xx Andree Buschmann's original decoder mppdec 0.95...0.98 Frank Klemm's fast decoder (nearly fully rewritten) mppdec16, mppdec24, mppdec32 - much slower versions supporting other bit depths than 16 bit - noise shaping support - dithering support - exact clipping diagnostics report xmms-PlugIn 1.7.xx/1.8.xx Buschmann based original decoder xmms-PlugIn 1.9.0 Buschmann based original decoder - some lines of code are changed to support title replaygain - this can be switched on and off in the plugin configuration menu - Some changes in the configuration menu to avoid confusions WinAMP-PlugIn 1.7.xx Buschmann based original decoder WinAMP-PlugIn 1.9.0 Buschmann based original decoder - some lines of code are changed to support title replaygain - this is always on WinAMP-PlugIn for WinAMP3 based on Frank Klemm's fast decoder - AFAIK no replaygain support at the moment (Peter Pawlowski, http://www.blorp.com/~peter/) Q02: What versions of encoders are available and what're the differences? A02: mppenc 1.7.xx Andree Buschmann's original encoder mppenc 0.90 A faster encoder. Some code is optimized and some features are added (10% rewritten). Differences in coding are very little most due to other rounding. There are no unnecessary modifications in the encoder to avoid: - discussions what encoder is better - intensive listening test for evaluation Q03: What is the sense of replaygain.exe? A03: Replaygain.exe determines the EXACT peak levels of the MP+/MPC files and estimates the perceptional loudness and stores this values inside the MP+/MPC file. This can be used to secure avoid clipping and to equalize the loudness of music. Q04: Can replaygain.exe damage files or reduce quality? A04: As long as there is no bug in the program and as long as your computer works stable it is not possible to damage MPEGplus SV7 files. All changes can be reset to their original values, except the mostly wrong title peak value (which is estimated by the WAV peak level, not determined by the MP+/MPC peak level). Q05: How can I reset the replay gain settings? A05: replaygain.exe 0 title_list Q06: How can I view all setting? A06: replaygain.exe --listall title_list Q07: I see two columns when using replaygain.exe --listall, one is labeled with "title", one with "album". What the background behind? A07: replaygain stores title based values. They are used if you regard all files of an album independenly. Especially if listening classic music or also live concerts you want to be handle all files in the same way. All titles of a album are amplified in the same way as they are stored in one big file. Q08: When dithering and noise shaping is useful? A08: Q20: Why I should not use -rescale 0.98 or -rescale 0.97 while encoding? A20: This reduces the level by about 0.23 dB or 0.35 dB. Level differences around 0.3 dB are audible. If you compare source file and encoded file you think the original file is better because it is louder. And on the other side the really needed factor depends on the music and can be between ca. 0.75 and 1.00. For most files a scale factor of 0.98 or 0.97 is not enough to significantly reduce clipping. Q21: Why I should not use -rescale 0.98 or -rescale 0.97 while encoding? A21: Signal corrections should always be done on playback side. You know the restictions and special properties of the playback hardware there and only there. Q22: What switches are available in the command line to change the playback level? A22: --scale, --gain and --prev/--noprev Q23: What does --prev do? A23: --prev scales the output always down in a way that no clipping is possible if exact peak level information is available. This information is written into the MP+/MPC files with replaygain.exe. The information provided by mppenc 1.7.xx is not fully useless, but very insecure. Mostly it reduces level too much, sometimes to less. If clipping protection works you see the messages: ClipDamp xxxxx Q24: What are the question tags behind ClipDamp? A24: 1x?: clipping prevention is based on insecure information based on mppenc 1.7.xx 3x?: No clipping prevention information at all available Q25: What makes --scale? A25: Scales the music by the given factor. A factor of 2...3 doubles loudness, a factor of 0.3...0.5 halves loudness. Factors greater than 1 most likely overdrive the output (if not using --prev). Q26: I want to listen to the music as loud as possible. A26: mppdec --scale 99 *.mpc Q27: ... but without this horrible distortions!!! A27: mppdec --scale 99 --prev *.mpc Q28: Is this the right way? A28: As long as your player has an analog volume control: no People with brains know about the meaning of this control. It always changes the loudness balance between titles in an unintended way. Q29: What makes --gain (starting with mppdec 0.98y)? A29: --gain 0: no gain correction, clipping prevention is done by title based peak levels, if selected --gain 1: no gain correction, clipping prevention is done by album based peak levels, if selected. So the loudness balance between titles of the same album is preserved. All titles of one album are attenuated by the same factor to prevent clipping of all titles. --gain 1 is never louder than --gain 0 --gain 2: title based gain correction, clipping prevention is done by title based peak levels, if selected --gain 3: album based gain correction, clipping prevention is done by album based peak levels, if selected. So the loudness balance between titles of the same album is preserved. All titles of one album are attenuated and gain corrected by the same factor to prevent clipping of all titles. Q30: Gain correction always reduces the level of my recordings! A30: You are listening to main stream music. This music is recorded with much too high level, so the level must be reduced to allow that all titles have the same loudness. Q31: Gain correction always emphasises the level of my recordings! And then the clipping prevention starts and reduces this level. This is silly!!! A31: You are listening to classic music. This music normally has a low loudness relative to the peak level. The opposite is the todays main stream music. There is a trade-off between main stream and well recorded classic music. What can you do? Use the standard scaling factor of 0.5. This should be enough. Q32: replaygain.exe do not work! A32: At first install the corresponding mppdec.exe in the search path. This is needed by replaygain.exe. If this executable is not available nothing works. * Q33: What are the differences between --clip and --prev or --noclip and --noprev? A33: --clip, --prev and --prot are the same. In the future only --prev will be supported. --noclip, --noprev and --noprot are the same. In the future only --noprev will be supported. Q34: I got the following message while encoding: WARNING: There occured 31 internal clippings! Re-encode with "-scale 0.923" or normalize input file with 92.3% A34: This is a bug in the StreamVersion 4...7 file format. The audio signal is so high that subband samples above >47220 are generated. There are two possiblities: - clip the subband samples to +/- 47220 - use scale factor outside 0...63, which are mostly possible by relative addressing (instead of the 6 bit absolute addressing). The first solution is compatible with all decoders, but generates higher coding errors, the second can only be played by Klemm based decoders (which supports scale from -4...127). Q40: Do the player supports long file names? A40: At least up to 2047 characters. Q41: What kind of tags are allowed? A41: ID3V1, ID3V1.1, in the near future APE-Tags Q42: Why ID3V2 is not supported? A42: Adding ID3V2 support is too difficult and changes too often. ID3V2 was "designed" to store every information you can get in a MP1/MP2 or MP3 file. It is not "designed" to be simple and elegant. Actually it's design is so broken that tagging file breaks these files. There are a lot of flaws within. Actually it also breaks MP1/MP2 files if they are exactly implemented! (They forgot to align the header size to a multiple of 4 and much much more) Q43: But playback of ID3V2 tagged files works with your decoder! A43: There is some code in it searching the original data. This only works with SV7. If the ID3V2 tag area is huge drop outs between titles can occure. Q44: But there's a ID3V2 library! A44: But it is written in C++ and I want to support all plattforms which only have a C compiler. Most Unix computers don't have a C++ compiler on board (as long as you are not paying a lot of $$$). Q45: What setting should I use for speech/Rock/Pop/classic music/ ? A45: Different from LAME you don't need special options for special music. For recordings from FM radio/DAT 32 kHz/TV audio which is bandwidth limited at 15 kHz I suggest to use the option '-bw 15800'. Q50: I can't play MPC files with Media Jukebox (MJB)! A50: Currently MJB only supports the extention .MP+, not .MPC. MJB don't uses the extentions stored in the plugins, but a own table. This makes MJB faster in scanning for audio files, because in only needs to compare the extention against the internal list. Otherwise it must ask every plugin for every file. This needs some seconds more. Q51: I can't play MPC files with Media Jukebox (MJB)! A51: Different from WinAMP it is not enough to store the plugin in the plugin directory. You must also register all plugins inside MJB. And you must do that for every plugin separately. Uncomfortable! Q52: Media Jukebox do not sort MP+ files into the directories. They are only to be found in the menu "unclassified" A52: MJB seems not to know ID3V1 tags. May be APE-tags. That's my next try. I myself have the same problem and try to find out why. Q53: Directly encoding LPAC/FLAC/APE files do not work! A53: First you must have installed LPAC.EXE/FLAC.EXE or MAC.EXE in the search path. Second the binaries must be able to decode to a pipe. Only some binaries seems to work, a lot are broken. I use a modified version which only can decode to pipes. * Q54: I'm the programmer of LPAC/FLAC/APE/RKAU. Users kick me because my program do not work! This is not true! A54: Your program writes CRLF translated text data instead of raw binary data to standard output. --or-- Your program is not able to write to stdout. This is normally selected by an option or by the filename '-'. --or-- Your program abort if seek() fails. Seek always fails on pipes. --or-- Your program polutes the stdout data stream by merging text messages in it. A single character is enough to make the output unusable. Q60: What about sample frequencies other than 44.1 kHz? A60: Streamversion until 7 only supports 44.1 kHz. It is planned to native support 48 kHz and 32 kHz in SV8. The main problem is that you must tune every sample frequency to achieve good results. 48 kHz may be not so a big problem. Q61: Is MPC or MP3 better? Is AAC or MPC better? A61: Questions: - What encoder do you use? - What target bitrate do use want to use (CBR, VBR)? - Streaming or Storing? - What formats do the target supports? - Maximum allowed delay? - Supported plattforms/open decoder source code? - CPU power? - expected quality? Depending on this answers the "best" coder can be MPEG-1 Layer II, MPEG-1 Layer III, MPEG-2 Layer III, MPEG-2 AAC LCP, MPEG-4 AAC MP, MPEGplus, MPEG-4 AAC MP+SBR, Ogg or also closed formats like WMA or Real Audio. Also lossless formats like APE, LPAC or FLAC are possibly the "best" coder. Q62: Do MPEGplus supports 128 kbps? A62: Although MPEgplus codes some kind of music with 120...140 kbps, it was not designed to support 128 kbps. It was designed as VBR coder and especially tweaking difficult to encode music to 128 kbps result in quality loss. At low bitrates between 96 and 128 kbps a _good_ AAC encoder gives much better results. At such bitrates AAC has much more methods to compress audio. But is much much more difficult to tune a AAC encoder. But a not so well tuned AAC encoder also have a lot of potentials to generate artefacts at higher bitrates. And last you are violating something around 70 patents if you use AAC. Q63: Know Bugs of Lossless coders? A63: I've found the following bugs (x = bug, - = okay, . = untested) LPAC FLAC MAC RKAU SZIP Shorten 1.36/3.06 1.0.2 3.90b2 1.07 1.12 3.1 SIGSEG if problems opening/creating files x - - - - - wrong decompress of broken WAV files x°) - . . - . Return code of 0 also on errors x - . . - - No support of stdin as source x - x x - - No support of stdout as destination - - x x - - text data to stdin/stdout (non Unix) - x x x - - user messages to stdout - - x . - - abort if seek() fails - - x x - - 32 bit WAV files (8 LSB unused) x°) - x . - . Can't switch off progress reports - - x x - - Note: All bugs can be fixed! °) Full data loss without any error message Q70: I downloaded mppdec.zip and mppenc.zip. I extract the zips. When I double-click the .exe files nothing happens other than a DOS box appears and immediately disappears. How could some one install and run either of these programs? Q90: What are the Pros and Cons of the different file formats like OGG, MP3, MPC, FLAC, ... Q91: I think I heard a problem with MPC clips? What do I do know? A91: First: - Test the clip with an ABX tester using double blind tests Often there's no problem, you can only here the problem as long as you know what you are hearing. Then the difference is only pure imagination. If the problem still remains: - Isolate a characteristic part of this clip with a length of at most 12 seconds, compress it with a lossless packer (FLAC, LPAC, MAC) and upload it to a webpage. Describe the error and post this description and the URL of the uploaded sample file. Q92: Are there any standard settings? A92: Default: mppenc inputfile.wav outputfile.mpc This should normally be enough. With a little bit more security: mppenc inputfile.wav outputfile.mpc -xtreme This increases Signal-to-Mask ratio by additional 2 dB. This also increases bitrate by 20 kbps. Q93: What is about the future of the Codec? A93: The decoder is free and there are at least two different implementations. Q94: Are there any infos about the future development or changes of MPC? A94: There are a lot of ideas how to develop MPC in the future, but - They are written in German - It is unclear what will be implemented and what not - It is unclear what is important and what is unimportant for other users - Currently it is only internally available - It's a question of time ... My wishes: - fatboy.wav with less than 256 kbps (peak) to be able to support ADSL 1024/256 streaming (current MPC have a lot of drop outs at the beginning when streaming) - lossless cutting and merging of files - perfect joint stereo coding by doing the matrixing after quantization instead of before - speed >25 on current high end CPUs (encoding a typical album in 2 minutes) - support of 32 kHz and 48 kHz - A 128 bit CRC over the whole file for data security reasons Q95: On what plattforms MPC can be played? A95: MPC files can be directly _played_ under Windows, Linux (via OSS and ESD) and Solaris. I'm interested in supporting more platforms, but I don`t own other platforms so I can't program it. If other want to add support I try to help. Note that for relatime playback you need a fast enough CPU (68040/50, 486/133, PPC, ...), it is not possible to support Computers like an AMIGA 500 MPC files can be _decoded_ on much more platforms. It should be possible to decode MPC files on a IBM XT/4.77 without FPU, but it will be unusable slow. Q96: When will the name be changed again? A96: May be never. The extention "MP+" had made a lot of trouble (not allowed under DOS, not allowed on CD-ROMs without RR or joliet extention. And the "MPEGplus" contains the problematic item "MPEG" which is owned by the MPEG committee. Q99: Known Bugs of the current MPC encoder/MPC decoder/MPC file format? A99: Yes, of course, there are some: File format: - problems with very high leveled audio Decoder: - No lib available Encoder: - if the signal has a lot of deep bass there are problems between titles possible - ANS do not work very well Recommendations (about contents, spelling, grammar) are welcomed. -- Frank Klemm