HydrogenAudio

Lossy Audio Compression => MP3 => Topic started by: craigru on 2021-06-09 04:07:31

Title: mp3 encoding quality with Apple Music App
Post by: craigru on 2021-06-09 04:07:31
    In the early days of iTunes the quality of Apple's mp3 encoder was low, compared with other mp3 encoders or with Apple's own AAC.  I assume this "quality problem" has been fixed by now.  Right?
    I want to encode a CD collection into mp3 (instead of AAC) for compatibility, because mp3 can be used with my portable players and car stereo.  Will there be much difference in quality between mp3's made with the latest Apple Music App (on a Mac running Big Sur) at high bitrates -- like 256 kbps, VBR, Joint Stereo (or should I choose Normal Stereo?) -- compared with files made using LAME MP3 or Apple AAC?
Title: Re: mp3 encoding quality with Apple Music App
Post by: NateHigs on 2021-06-09 12:57:59
I am not aware of any listening tests for the Apple MP3 encoder. I very much doubt that they have invested money or time improving the quality of it.

I'd suggest that if you need MP3 and are concerned about quality, why not use a 3rd party tool? EAC on Windows or XLD on MacOS.

Also, always use joint stereo unless you have a highly specific use case (general music isn't one).
Title: Re: mp3 encoding quality with Apple Music App
Post by: binaryhermit on 2021-06-09 13:57:01
Tbis is old and 128 kbps but the iTunes encoder was in a big old tie for first in a 2008 mp3 test
http://listening-tests.hydrogenaud.io/sebastian/mp3-128-1/results.htm
Title: Re: mp3 encoding quality with Apple Music App
Post by: Markuza97 on 2021-06-09 21:17:35
Use LAME like every normal person.
V2 is ideal. Great size and it should work everywhere.
If you car has problem with VBR files then encode using CBR at 192 kbit/s or more.
Title: Re: mp3 encoding quality with Apple Music App
Post by: craigru on 2021-06-12 21:12:34
Thanks for the helpful responses.
    Markuza says to just "use LAME," and NateHigs recommends "XLD on MacOS" that specializes in FLAC (offers benefits, maybe useful later) but also does LAME mp3 (good for my current project).  OK.
    But by contrast with the ease of using Apple Music App -- it's already installed with the OS, is free, easy to use, with easy-to-understand choices for everything (thus no need to find special "how to do it" pages), is overall easy with low "learning curve" so all tracks on my first CD were encoded into Apple's MP3 within a few minutes -- using XLD and LAME hasn't been easy.  Or even possible.  Why?
    The universal binary of XLD now includes Native M1, so it should run well on my new M1-Mini with the latest Big Sur, 11.4  But... when I click on "XLD.app" instead of opening it says "XLD.app can’t be opened because Apple cannot check it for malicious software.  This software needs to be updated. Contact the developer for more information."  Sigh.  ??
    And with LAME 3.100, I can't even get to the stage of clicking.  The "ReadMe" leads to an "INSTALL" document that says (after I figured out that *NIX means UNIX) to a section that begins "Building the software on *NIX platforms using configure:  Run the following commands:    % ./configure      % make      % make install".  Really?  Isn't there an easier way that regular Mac users -- who rarely use "configure commands" (terminal commands? or whatever these are) -- can use without getting out of our comfort zone?  If there is an easier way, I couldn't find it in their "install" instructions.  ??
    More than a decade ago (maybe 2008?) I downloaded iTunes-LAME Encoder, and it worked well with LAME 3.97 (or 3.98?).  I don't remember facing any major obstacles then (with iTunes LAME Encoder, iTunes, LAME 3.97) like those I'm having now (with XLD, LAME 3.100).  Is it just more difficult now?  Or am I missing key insights that would make it easy, or lacking key skills?
Title: Re: mp3 encoding quality with Apple Music App
Post by: craigru on 2021-06-12 22:53:21
Earlier I asked if it was necessary to use "configure commands" but now I've found (thru HA's Wiki for LAME) a download from rarewares.org that says "lame_enc.dll - LAME encoding library, generally used with CD rippers, etc" and it's now on the hard disk of my Mac Mini.  Is this "lame_enc.dll" (dynamic link library) what XLD uses to encode LAME?   {update: We also can download "XLDLameOutput.bundle" from tmkk.undo.jp [it's the website of XLD] but this bundle has only LAME 3.98.4 instead of newer versions -- I'm confused.}
Title: Re: mp3 encoding quality with Apple Music App
Post by: Markuza97 on 2021-06-12 23:07:06
HydrogenAudio users like it complicated! Haha.
Yeah, sorry, I know that our answers were not really precise.

LAME has been tested and perfected over the years. The same thing cannot be said about Apple's encoder.
They were more focused on their AAC encoder, that's why we recommend LAME.

At higher bitrates (192+ kbit/s) you are not going to hear any difference at all so you can use Apple Music App if it makes job easier for you.

I wanted to recommend this encoder (https://www.rarewares.org/files/mp3/lame-3.100_macos_m1_arm64.dmg) from RareWares but you said that you are not comfortable with Terminal.
I never owned any Apple product so I cannot really help you there.

Maybe you can pm kode54 (https://hydrogenaud.io/index.php?action=profile;u=4082) and ask him for help.
He is a well known member/developer here but he retired recently but he also said that he is focused on M1 right now so he can probably help you.
Title: Re: mp3 encoding quality with Apple Music App
Post by: craigru on 2021-06-13 00:43:47
Thanks, Mark.
>you said that you are not comfortable with Terminal.
     I've used "Terminal" before, mainly on Windows but also Mac;  I won't free-lance with it, but can follow clear directions.  One of my missing "key insights" was not knowing that "configure... commands" are "Terminal" commands, so... I just go into the MacOS "Application" folder, then into its "Utilities" folder, double-click "Terminal.app" and type exactly what is stated in the INSTALL-document.  Probably it's simple, when the concrete action-steps are known.   {i guess the writer of "INSTALL" expected all readers to know that configure = Terminal?}   But even if I did this, then what?  i.e. Would this give me what's in the "lame_enc.dll" library, or in the "XLDLameOutput.bundle" or something different, and then what would I do with the files that are produced?  It would be helpful if teachers (like the writer of "INSTALL") gave easy directions [Step 1, Step 2,...] for the whole process, instead of leaving info-gaps & missing steps, by assuming that of course every reader already knows all information (so there are no gaps) and knows all steps (so no actions are missing).
Title: Re: mp3 encoding quality with Apple Music App
Post by: Markuza97 on 2021-06-13 01:31:58
You downloaded source code. Source code is human readable text.
Before you can use it, you will need to compile it. Compiling is, well, not very simple.

Once you set up the compiler and other required tools, most programs can be compiled by typing:
./configure
make
make install

This will compile the program and library but it is not going to be optimized... (+ many other things that I don't want to bother you with)

You will get the executable file where you need to use Terminal to type commands manually and you will get library that is
used by other programs (fancy GUI) where they simply use the library to encode your files.
The good thing about this is that author will "never" need to update his program, you just need to update the library.
(You case is special because Apple changed the system architecture.)

Don't get me wrong, but I think you should stay away from it right now for various reasons.
Stick with the program that came with your Mac. Encode at 192+ kbit/s and forget about everything.
Title: Re: mp3 encoding quality with Apple Music App
Post by: craigru on 2021-06-14 21:07:27
This post has COMMENTS -- nothing profound, so if you can skip these if you want -- that provide a context for a PRACTICAL QUESTION that (at least for me) is important.
    Markuza, thanks for your continuing helpfulness, with step-by-step technical directions plus your advice (probably wise) to "stay away from it [investing valuable time trying to get XLD/LAME to work] right now for various reasons.  Stick with the program that came with your Mac" because "at higher bitrates (192+ kbit/s) you are not going to hear any difference at all."
    Probably true, especially because I'm not an audiophile, don't have the equipment (or "ears" or attitude) to hear the difference.  Instead I'm just a musicophile -- loving good melody, harmony, and rhythm, clever arrangements, skillful instrumentalists and vocalists,... -- and using Apple Music probably would be fine for my ears & goals.  And it might be best, partly because I know the batch-process will be easy;  I can load a CD, click "go" and wait for a bell to ring at the end (while doing productive things during the time it's encoding) and then repeat the process.  If I ever get things set up to use the best LAME with XLD, would it also be this easy? (i.e. just click "go" and wait for the bell, change the CD and do it again)
    Anyway, to get audiophile quality the best strategy is obviously to use FLAC, because then all of the original data is available, and the FLAC can be converted into conveniently compatible formats like mp3, now or later.  BTW, thanks for calling attention to a potential problem ("if you car has problem with VBR files") so instead of assuming VBR is ok, I can "do the experiment" by recording MP3's with VBR and CBR, then listening to the results in my car.  But for the current batch-converting project, probably I'll just make mp3 files.   (although Apple's AAC would be better than MP3, it's less widely-compatible, in my car and with other players)
 
    A PRACTICAL QUESTION:  I have one concern.  It isn't overall quality, because probably I'll encode mp3's using 256-VBR or (if my car can't cope with vbr) 320-CBR, and I think these will be fine for me.  But I am worried about artifacts, and am wondering about one aspect of encoding.  NateHigs said, responding to my question, "always use joint stereo unless you have a highly specific use case (general music isn't one)."  The theory of Joint Stereo is sound, and HA's expert Wiki explains "how it works and why it works well," with details.  It ends with "Additional Information" explaining that "Some early MP3 encoders didn't make ideal decisions about..." but "this is not an issue with modern encoders. Modern, optimized encoders will..."  So my question is:  regarding this issue, does Apple Music use a "modern optimized encoder" for its MP3, so it won't cause audible artifacts when using Joint Stereo?
    FWIW, here is a quote from a LAME-page (sourceforge.net/p/lame/svn/HEAD/tree/trunk/lame/USAGE) that's current, so it's "modern" not "early":  it says "Using mid/side stereo inappropriately can result in audible compression artifacts. Too much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than that described in the ISO documentation, and thus is safe to use in joint stereo mode."  So... does LAME use "a much more sophisticated algorithm" compared with only "the ISO documentation" (this isn't necessarily relevant) or (very relevant for avoiding artifacts caused by joint stereo) also compared with other encoders, like the MP3 encoder of Apple Music?
Title: Re: mp3 encoding quality with Apple Music App
Post by: [JAZ] on 2021-06-15 19:59:58
When LAME mentions "the ISO documentation" in that sentence, you have to go back to 1993 and then, to a demo encoder sometimes called "dist10". 

This demo encoder was the base for several public encoders, including the very first versions of LAME.
Progressively, LAME was rewritten by several of its developers, and progressively removing the code that came from that encoder.

That happened more than 15 years ago, just to make you aware of what "modern" means.
SimplePortal 1.0.0 RC1 © 2008-2021