1

Summary:
1. Is it normal among lossey codecs?
2. what are the effects of this specifically when handling this 'cutoff' audio file?
3. Why is it still saving the file as 48khz if it doesn't contain that data anymore? +++++++++++++++++++++++++++++++++++++++++++++++++++++
I was reading the wiki for Opus. And the bottom notes caught my eye, mainly: https://en.wikipedia.org/wiki/Opus_(audio_format)

Opus cuts audio above 20 kHz, the generally accepted upper limit of the human hearing range.

It lists very specific sample rates that are supported as well for opus on that page: 8khz, 12khz, 16khz, 24khz, 48khz

So if I intend to use opus as my audio format does it mean I need only record at a sample rate of 24khz? Anything above 20khz is just extra data for transforming the waveform before export? So no intent to transform would mean you might as well just record at 24khz?

I'm not overly familiar with the specifics of audio codecs, but is this normal for codecs to cutoff such a large range of sounds? That just seemed concerning to me, given everyone records at ~44.1khz minimum and in general 48khz is well used. Is it better to use a different 'lossey' codec than opus if I intend on possibly editing/re-encoding the audio again at some point? Or would there be no real difference between the loss experienced when editing and re-encoding an opus vs the loss when editing an aac/etc?

I'm also confused why when I re-encode from a 48khz f32 .wav to opus it saves itself as a 48khz sample rate still. Isn't all data above 20khz gone...? That's confusing to me. edit: well I guess when you merge different sample rates they sound of different speeds so that's why it would keep the original format..?

And yes I'm aware that lossless is the ideal format if I intend to re-encode/edit at some point, but for the sake of argument let's pretend we have to choose between lossey formats (at least for the initial export, we can trans-code later to lossless)

1 Answer 1

4

You mistake the sample rate for the audio cutoff rate. If the sample rate is 48kHz, the absolute maximum frequency that could even theoretically be represented with a lowpass signal is 24kHz (I am not getting into bandpass theories since the 20Hz subsonic band is just too small to be useful for transferring high frequency content). In practice, you need more leeway to avoid aliasing problems.

So 48kHz is a reasonable sample frequency to use for signals cutting off at about 20kHz. Now you are asking whether this is customary for lossy audio codecs. The principal of lossy audio encoding is to throw away information that psychoacoustically is supposed to not be relevant. Since human hearing is supposed to basically be constrained to the 20Hz-20kHz range, it is not in the least surprising that the range above 20kHz would not be subject to encoding.

1
  • If the sample rate of the source is less than 48kHz, is there any advance of using the same sample rate for target? Maybe you could get smaller file? How would you tell that to ffmpeg?
    – jarno
    Oct 13, 2020 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.