• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

How many bits can you hear?

Having the vocal description (at the same initial level) before each sweep was sufficient for me.
 
I'm not sure what you mean about volume being "the weakest point". First, let me explain the point of the exercise:

In particular "how many bits can you hear?" is asking how many bits of the exercise, not of digital audio in general. I'm trying to make it easily identifiable, and even generously loud for a given bit level. By contrast, hearing tests I've experienced use soft edge sine tones and headphones emitting a calibrated level. That tends to leave you questioning whether you're hearing a tone or not when it's on the edge. With a harmonic-rich sweep, if you're not sure if you hear it, you probably don't.

The point of having the announcing voice (at the default output level) is so that a person knows how loud their system is. Not just to keep people from "cheating"—this is a personal test and I'm only asking "how many" rhetorically—I'm not looking for an answer from anyone. Also, if people are just going to keep turning up the volume as the sweeps get quieter, there is no point to the test at all. Lastly, I'm concerned that people will do this, and forget about it or have a system alert go off and blow out their system or their ears.

The point of this is only personal introspection. A lot of people say they can hear all the way down to 24-bits, other call for true 32-bit DACs apparently because they don't think 24 is nearly enough, usually without having any idea what -100 dBFS sounds like on their system, at their normal listening levels. :p

So, I think my self-test is what it was designed to be. But I still like to hear and talk about what other people think are also interesting tests, so I welcome your thoughts. I just wasn't sure if you were saying you'd like to hear the first sweep ("5-bit") as a reference ahead of each subsequent sweep, or something else. :)
Thanks for you comments.

What I meant is that thing of the reference volume you also mention, because by turning up the volume one can hear less or more bits. So it's weak in the sense that I decide how many bits I can hear.

The idea of putting the first sweep, the unattenuated one, before the others was to somehow address this problem, because the voice is a different sound and is not "calibrated" against the sweeps, so as a reference is less precise, and only has the function of dissuading to turn up the volume.

Extending my suggestion, perhaps I would start the video by saying that the first sweep must be set in a volume that allows to hear perfectly all the spectrum, but not higher. Or I would introduce some other noise, and tell the users to turn up the volume until they can hear it, to set a more or less equal loudness for everybody according to their hearing capabilities.

Of course this is just a happy thought from an inexperienced guy.

My take out was that I can hear at least up to 18 bit, so that CD dynamic range isn't enough. However, I'm unsure about this conclusion, and that motivated my comment.

Anyway, I've definitely learned something with your test and now with this discussion, so thanks for the effort.
 
Thanks for you comments.

What I meant is that thing of the reference volume you also mention, because by turning up the volume one can hear less or more bits. So it's weak in the sense that I decide how many bits I can hear.

The idea of putting the first sweep, the unattenuated one, before the others was to somehow address this problem, because the voice is a different sound and is not "calibrated" against the sweeps, so as a reference is less precise, and only has the function of dissuading to turn up the volume.

Extending my suggestion, perhaps I would start the video by saying that the first sweep must be set in a volume that allows to hear perfectly all the spectrum, but not higher. Or I would introduce some other noise, and tell the users to turn up the volume until they can hear it, to set a more or less equal loudness for everybody according to their hearing capabilities.

Of course this is just a happy thought from an inexperienced guy.

My take out was that I can hear at least up to 18 bit, so that CD dynamic range isn't enough. However, I'm unsure about this conclusion, and that motivated my comment.

Anyway, I've definitely learned something with your test and now with this discussion, so thanks for the effort.
"because by turning up the volume one can hear less or more bits"—Yes, but that is the nature of dynamic range. At lowest volume, we're constrained by factors such as the minimum energy our ears can detect, the noise floor of the electronics, and the ambient noise floor of the room (I say this as it garbage collection day and a truck is outside). At the top end, we're constrained by how loud we wish to listen (discomfort, and concern for ear damage), assuming our amp and speakers can attain that level. So, basically to hear the most "bits", it's a matter of making it as loud as we care to, and minimizing room and electronics noise.

Anyway, I get about the same as you. I can just barely get to 18 bits, 19 is non-existent. But I need to shut down my laptop and any audio gear, and listen at higher volume than I'd typically listen to music. Listening for a level that would normally be masked with real music.

To get there, I had to unplug the little speaker system for my laptop (mini-sub and two satellites). The power supply in the "sub" housing has acoustical hum (switching it off didn't stop the hum, needed to unplug) that I hadn't noticed before, and was robbing me of a bit or so, six feet away. I can get to 17 without quite the extreme measures of quieting the room, but it is a very quiet room to start with, with an extremely quiet computer (2019 Mac Pro). Remember, the volume of each sweep is actually double the bit level called out, so you could say that's 16-bit.

Lastly, this isn't to "prove" 16 bits is good enough. I'm also a music creator, and feel 24 bits is a cheap price to pay (50% more storage, but essentially zero increased baggage for DSP, unlike 96k, etc.). I like 24-bit, I'd just as soon get music in 24-bit, why not. But realistically, 16-bit is practically perfect for the finished product. And a 16-bit product is (should be) dithered, so the audio would disappear in the noise floor that already sitting about at the minimum of nearly any listening environment, and even if you can hear that noise floor, the audio will smoothly disappear beneath it due to the dither. And that's the only point of this "self test", just a means of perspective. Not just on 16-bit, but the futility of fretting over the last few bits of 24-bit, or wishing for more than that.
 
Last edited:
The steps are on exact sample-periods, generated algorithmically (not recorded through a converter), so they are bandlimited. And on exact bit levels
[...]
consider that if you record a square wave, through an ADC, in which the period is an exact multiple of the sampling period, and with phase such that the transitions land halfway between samples, you end up with the same thing.
Um... AFAIU such square wave is not bandlimited and therefore has aliases. Only it just so happens that those aliases align with the in-band harmonics, so maybe they are not so obvious.

If we take a perfect 2205 Hz square wave with amplitude 0.5, it has the following sine components:

2205, 6615, 11025, 15435, 19845, 24255, 28665, 33075, ...

If we sample this square wave at 44100 Hz without bandlimiting then we'll get a repeating sequence of 10x +0.5, 10x -0.5 samples. The sine components above 22050 will alias as:
  • |1*44100 - 24255| = 19845
  • |1*44100 - 28665| = 15435
  • |1*44100 - 33075| = 11025
  • ...
so exactly the same as the components below 22050.

This can be seen in the frequency magnitude spectrum when compared with a properly bandlimited square wave (files in attachment). For example the 11025, 15435 and 19845 Hz components (5th, 7th and 9th harmonics) should have amplitudes:
Code:
0.5 * 4/pi / 5 = 0.12732 = -17.90 dBFS
0.5 * 4/pi / 7 = 0.09095 = -20.82 dBFS
0.5 * 4/pi / 9 = 0.07074 = -23.01 dBFS
but in the non-bandlimited square wave they are -17, -19 and -20 dBFS:
fft.png

sq.2205.png
 

Attachments

  • sq.2205.proper.flac.zip
    37.6 KB · Views: 65
  • sq.2205.aliased.flac.zip
    8 KB · Views: 56
Last edited:
Um... AFAIU such square wave is not bandlimited and therefore has aliases. Only it just so happens that those aliases align with the in-band harmonics, so maybe they are not so obvious.
First of all, I want to be clear this is completely immaterial to the purpose of the waveform I generated. I generated this waveform to be easy to hear. A sine wave would have sufficed, and it's the one typically used, but it has a serious drawback: its signal to noise changes with its magnitude. That is, sample a sine wave sweep for near full scale. It has a signal to noise ratio approaching 144.5 dB. But if we take that and scale it to plus/minus the least significant bit, it's not a sine wave anymore, it has more frequencies than expected. We'd have to dither it to even sound like a sine wave, then it would be a sine wave buried in noise (essentially spreading those extra frequencies randomly). The waveform I created does not rely on intermediate levels (due to the fact it's "square" and synchronous), so at plus/minus 1 lsb it's integrity is still exactly the same as at a thousand times that amplitude—it can be scale down, then back up with no loss. Again, not true of sine—if you scale the original down to 1 lsb and back up, you'll have a horrific waveform that 24-bit dither will not save you from.

If I'd gone with sine sweeps, there would be other problems, even If I chose to dither and live with the different relative SNRs: I originally developed this to give people an idea of truncation distortion levels at various bit depths (including showing the lack of importance for 24-bit dithering). If I'd used a sine wave, I have no doubt that the people it was addressed to would dismiss it immediately with "but truncation distortion is so much easier to hear than a sine wave!"

As far as your aliasing concern...I'm looking for what I might have said regarding aliasing, I don't see it quickly—I've search on "alias", and see your mention being the first—so maybe you can tell me what you're having fault with. I consider a bright sound as being a plus for my test—I want to err on the side of the signal being too easy to hear, not too subtle. So the goal of this is the harmonics. The fact that the upper harmonics are exaggerated is not a drawback.

BTW, sampling with periods at multiples of the sample period has been exploited many times in the history of electronic musical instruments. All errors are harmonic, so even 8-bit tables have extremely good noise characteristics (though a bit bright for sine waves! thankfully synths like to start with harmonically rich waveforms). Not accuracy of harmonic amplitudes, but that's typically not a concern.

PS—OK, with fresh eyes today, I see what you were finding fault with. I was looking for some mention of aliasing. Yes, I oversimplified, it's like sampling a non-bandlimited square and the result is that it deviates from a bandlimited square in that the aliasing is coincident with the harmonics. I didn't want to get into that and cause more confusion. It was in answer to the question, "What do you mean by digital square wave? Still frequency limited I assume?" I wanted to make clear there was no aliasing that would cause changing harmonic content during the sweep, that it was a perfectly legal waveform that didn't change in character at the different amplitude levels in the test. I didn't give a great explanation, and again it's immaterial. It's just a signal that's easy to hear that also requires just two symmetrical levels.
 
Last edited:
Back
Top Bottom