- Now using libopus v1.3
- Fixed a bug in Default UI playlist causing poor performance with tens of thousands of items.
- Fixed incompatibility with certain HTTP servers, causing music files to fail to play from them with "object not seekable" message.
- Fixed some more Internet radio metadata regressions.
- Made DSP presets sorted in the toolbar dropdown list.
Full list of changes
If spectograms do not mean anything, I wonder why there are still exist.
At a glance, it can be seen some denoise in both encoded samples, especially at high frequencies which anyway bring only annoying HF hiss in ears.
I lowered the maskers of bass, alto and treble to not lose any particular sound from the original sample, which may be covered by stronger maskers.
The original sample (44,100 Hz 16bit WAV) was resampled to 48,000 Hz 24bit and the encoded samples to (48,000 Hz 24bit MP3) and look in spectograms almost identical and sounds almost identical, even on the whatever Hi FI audio system.
I put sfb21=4 to cut any noise >20,000 Hz and to save bits for a better quality encoding at lower frequencies. My goal is to make good quality mp3's for my android. The 4.8X WAV/mp3 dimension ratio it's pretty OK.
The best settings I tested so far:
lame.exe -mj --ns-bass -0.5 --ns-alto -0.25 --ns-treble -0.25 --ns-sfb21 +3.75 --short --verbose -q0 -b320 --cbr --resample 48 --highpass 0.001 --lowpass -1 --clipdetect aaa.wav encoded1.mp3 --bitwidth 24 --interch 0.0002 --scale 1.5
Now, the samples, the spectograms and the ABX test.
-encoded1.mp3 (this sample was encoded with the above mentioned psy settings)
lame.exe -mj --ns-bass -0.5 --ns-alto -0.25 --ns-treble -0.25 --ns-sfb21 +3.75 --short --verbose -q0 -b320 --cbr --resample 48 --highpass 0.001 --lowpass -1 --clipdetect aaa.wav original.wav --bitwidth 24 --interch 0.0002
[--ns-bass -1.0 --ns-alto -0.5 --ns-treble -0.275 --ns-sfb21 -4 --interch 0.0002]
-encoded2.mp3 (this sample was encoded with the default psy settings)
lame.exe -mj --short --verbose -q0 -b320 --cbr --resample 48 --highpass 0.001 --lowpass -1 --clipdetect original.wav encoded2.mp3 --bitwidth 24
[--ns-bass -0.5 --ns-alto -0.25 --ns-treble -0.025 --ns-sfb21 -0.5 --interch 0.0000]
I did not find significant differences in spectograms or audition, and ABX tests demonstrate that there is uncertainty in both situations (original.wav vs encoded1.mp3 / original.wav vs encoded2.mp3).
The psy settings --ns-bass, --ns-alto, and --ns-treble appears to have very little impact. Maybe --ns-sfb21 and --interch may be a game changer, I dunno.
It was possible before. I don't think it is meant as an intentional behavior but has just been overlooked.
Not cheating. honest
I think he was trying to imply it's not lossless because you can stuff any data you want into it, including decoded MP3 files. But in that case, CDs aren't lossless either, since you can burn audio tracks from any lossy source you want.Exactly. Using "Lossless" as term is main issue. Files can't be lossles or losy (even CD of course). Only the way how you packing them, coding them, archiving them can be lossless or losy. "Lossless codec" means that you'll get out (unpacked, decoded...) absolutely(!) the same file as you put it in (each bit). Nothing more and nothing less. And it can be file of any quality. Lossless doesn't mean "Good audio file".
-9kbps = noticeable difference between v1.2 and v1.3 as it's a bit less muffled/more clear in v1.3. between v1.1 and v1.2 I don't notice any difference on this 9kbps setting.
-12kbps = noticeable difference between v1.1 and v1.2 but nothing between v1.2 and v1.3 as far as I can tell. NOTE: I would say this one is harder to spot a difference between v1.1 and v1.2 vs the 9kbps and 16kbps settings I mentioned which are easier to spot.
-16kbps = noticeable difference between v1.1 and v1.2 (basically less muffled and a bit more clear sounding) but I don't notice anything between v1.2 and v1.3.
-20kbps = things start to get harder to notice between the versions but I think I can spot some difference between v1.1 and v1.2.
-24kbps = I can 'maybe' notice a difference between v1.1 to v1.2.
-32kbps/40kbps = I can notice some change in sound between v1.2 and v1.3. basically a bit more clarity I guess I could say.
-48kbps = I can't say I notice anything here between Opus versions.
NOTE: from what I have noticed so far in general with my limited testing with my speech files... I prefer no lower than 13kbps with Opus v1.3 and 14kbps with Opus v1.2.1 for general speech at the minimum.
NOTE: I know headphones are optimal but I just thought I would list the above info for whatever it's worth
I hope to obtain good results with all filters OFF and with the psy fine tuning (interchannel masking ratio and sticking around with the psy masking values). The default settings output something crappy and the differences are obvious for any real Hi-FI audio system. The increment of the psy masking values is +/-0.25 dB, added/subtracted to the default psy values. The sfb21 is treble dependent and, along with the low pass filter, cuts the high frequency sounds brutally. Working in progress.
High frequency content (>16kHz) is difficult to encode, this is why the low-pass filter removes them. As you say yourself, you cannot hear any difference. Only the spectrogram shows the filter, but having nice spectrograms should not be the aim. (If it is, forget mp3 altogether and just save a png of the original spectrogram )
When you disable the low pass filter, LAME starts wasting bits on encoding the high frequency content (which you cannot hear), and then it has less bits to encode the low and mid frequency information, so it will sound worse.
Thank you for sending me the samples. I cannot ABX any difference between the wav and your mp3, but that is also the case with the LAME default settings. And the default settings preserve the original 44.1kHz sampling rate. Resampling to 48kHz will not improve quality.
And how to be with NG PlaylistYou can try "[%rating_stars%]" or "[%rating_stars_fixed%]".
Thanks, but it doesn't work.
The crackles you talk about... if there are crackles in this analog transmission I guess there would be some packet loss, Opus can compensate for packet loss as well using forward-error correction. Here are some examples, including one with the mentioned forward error correction. Note that the latest versions sounds even better than these examples.
If the bandwidth ever gets to be a problem, consider Codec 2 as well. It is also open source, designed for low bandwidth HF/VHF digital radio and can do good enough speech with lots of noise even at around 2kb/s.