The behaviour is simply due to Opus "making stuff up" above 15.6 kHz at that bitrate. This saves many bits that can be used to make the encoded file sound better and it's hard to hear the difference because the ear isn't very sensitive at that frequency. The encoder *could* code that band better, but it would require many bits (taken from lower frequencies) and the result would likely be worse.
Thank you. I wasn't trying to "listen with my eyes" as I mentioned that my hearing above 16 kHz sucks and I can't ABX the 96 kbps Opus file. This was just to try and understand how the codec is working, and to see if I could investigate why some golden ears can ABX Opus up to 160 kbps. Seeing that roll off at 15.5 kHz got me to wondering because it looks like the energy "saved" by that roll off is more than offset by the extra energy between about 17 kHz and 19.5 kHz, where the Opus file has more energy than the source. My rudimentary knowledge had me thinking that if that extra energy could be used to keep the energy between 15.5 kHz and 17 kHz similar to the source material, it might make it more difficult for golden ears to ABX Opus at this bitrate and above. However, that's assuming the relative energy of various frequency bands is what they're hearing. It could be other effects.
Last post by Klimis -
Until recently I was using 96kbps for Opus but I noticed that over 10000Hz or 12000Hz alot of the stereo field gets centered (Something similar happens with Vorbis at those bitrates) so I jumped to 128kbps where I notice nothing. It just cant be my imagination.
96kbps is transparent to me. What I noticed is that up to 96kbps you get solid improvements for every 32kbps interval you give to the bitrate. After 96kbps, even if there is a difference for somebody, I bet the quality gain is less effective than the one given below 96kbps in 32kbps intervals. Not that there might be no quality gain, but most possibly not quite as big as the one you get for 32kbps intervals below 96kbps.
Yeah, I think what you say there would be difficult to disagree with given listening tests around here (which should be a pretty good estimate of Opus quality) because going by 32kbps bit rate increases, 32/64/96/128/160 etc, it seems like once you hit 96kbps things tend to largely peak in sound quality to where going higher, the sound quality gains tend to be minimal, and once you hit 160kbps seem to be pretty much the limit and going any higher seems to be largely overkill/waste of storage space (based on some comments I have read around here). so I kind of assume the difference between 96kbps vs 160kbps is minimal(if not very minimal) overall and probably requires optimal listening conditions etc to notice it. like it becomes more of a the thought of them being able to ABX it (at 96kbps vs say 128kbps or 160kbps) more than the difference actually bothering them (because the difference is faint) when just sitting back and enjoying the music.
so based on what your saying it might be roughly something like this, sticking to the 32kbps each increase standard...
32kbps to 64kbps = biggest gap in sound quality. 64kbps to 96kbps = a decent gap in sound quality. (largely cleans up the already pretty good sound to where artifacts should be pretty minimal at this point(96kbps)) 96kbps to 128kbps = small gap in sound quality. 128kbps to 160kbps =smaller gap in sound quality. 160kbps to 192kbps or higher = smallest gap in sound quality. probably next to nothing in sound quality(?). basically efficiency is pretty much shot any higher than 160kbps from the looks of things.
so basically 96kbps offers the most sound quality for the bit rate basically (especially sticking to the 32kbps increase standard) which pretty much makes it that 'sweet spot' for Opus. I just said 'pretty much' just to leave a little lee-way in there as if someone disagreed with me, it can't be more than one setting either way of 96kbps sticking to the 32kbps (up or down in bit rate) standard. so in other words, the 'sweet spot' for just about everyone, who has a concern for efficiency, would be basically one of the following settings... 64kbps/96kbps/128kbps. so basically 128kbps is for those who are a bit more concerned with sound quality than storage space/efficiency and 64kbps is for those a bit more concerned with storage space than sound quality where as 96kbps is basically that great balance between the two. so while 160kbps is still a respectable choice, I don't really think someone could argue in favor of 160kbps in terms of efficiency as while it's probably a solid option for those who want maximum sound quality without getting too crazy with the bit rate, so it's not a total loss of efficiency, it does tend to take a solid hit in efficiency for minimal sound quality gains which makes it a little too high if you ask me since I sort of see 128kbps as a bit of a safety buffer for the already strong 96kbps setting (so it's not too surprising to see 128kbps the current leader in the poll with 96kbps being the 2nd choice) but even that already comes with a 25% increase in storage space etc.
I like it. I don't view spectra that often, but I have had this and foo_musical_spectrum side by side, and I am not sure which I prefer for general visuals.
But foo_musical_spectrum has a couple of features which I at least sometimes would miss from your component. For your consideration: - octave / "piano key" view. Sometimes more instructive than Hz numbers. Can be "tuned" by setting the pitch for A4 (defaults to 440 Hz). - "transposition by semitones". Who has a Bb instrument? ;-) (When I have run tests for infrasound or ultrasound - I have at least a couple of musical pieces with possibly amp-draining infrasound down to 6 Hz - I have tuned/transposed transposed to circumvent its C0-A11 range.)
Thanks for your feedback and suggestion! I see your point but musical spectrum and my component have a different approach. I wrote this component to analyze and compare musical productions. I want to see the whole spectrum without any bars in full resolution. But i will think about it. I could implement a piano / note view as an additional option side by side with the frequency scale. I will take this into my considerations for a future release.
Last post by jsdyson -
This is probably the last release for a while unless there will need to be a major bugfix. Also, it is probably okay now to use --ai=max all of the time. The anti-alias fix also improved the freq response for --ai=max. There was a comedy of freq response errors resulting from some FIR filters being too short -- silly mistake.
No change to basic design, just re-jiggering some filters.
Basic design is now solid, but if I find a new anti-alias or quality improvement I will certainly persue it.
Refer to previous posting (probably have 24 more hours) for incredibly good examples about the quality of this decoder. Esp this version.
This is MANDATORY if you want/need the best quality.
The unexciter is also now included -- it is very slow, but is part of what made the ABBA voices sound so human instead of that horrid Aphex Exciter sound. There are no real docs, but it can be used once or multiple times. The switch is --dr=0.156, and that ist the best default value. If you need the very best quality and almost total removal of that cringing sound - use the unexciter sequentially with --dr=0.120, --dr=0.078 and then --dr=0.0135. (Values determined experimentally.) Just pipe multiple instances of the unexciter together. The sound (esp voices) is incredibly improved. Unexciter name prefix is 'unex', and just choose the best for your computer.