Hacker News new | ask | show | jobs
by iforgotpassword 1538 days ago
> due to a hardware bug, it advertises itself as 96kHz mono, so Windows and macOS will give you that

Wait, shouldn't that sound really broken? I guess it depends on how exactly they are interleaved, but shouldn't the pitch be twice as high for example?

3 comments

So the dongle will be doing something like this:

    LLLL... (48kHz mono) ---
                            \
                             > LRLRLRLR... (96kHz mono)
                            /
    RRRR... (48kHz mono) ---
The other end then needs to do the reverse.

Listening to it as a raw 96kHz mono stream will sound (very likely) completely awful (depending on how different the L/R signals are) as well as pitched down 1 octave.

edit: I may be confused about the direction the pitch shift is, you may well be correct that its pitch would be doubled rather than halved.

edit 2: actually the pitch would be unaffected; think about if you took a 48kHz signal (L...) and repeated every sample (LL...), if you played that at 48kHz the pitch would half, but playing it at 96kHz would double the pitch -> no pitch change. So really the issue would be how different L and R signals are that would introduce higher harmonics.

Right, that would work if it's interleaving every sample, but I think as soon as you do chunks of eg 5ms or so, there should be the mentioned doubling of pitch and other glitches. So maybe since they got away with selling this buggy thing anyways it is indeed interleaving every sample as you suggested.
No, it sounds perfectly fine. Mathematically, interleaving samples like this is equivalent to zero-padding every other sample to upsample, with no antialiasing filter. Then you add the other channel offset by one sample. The end result is that you have both channels summed up in the low 24kHz of spectrum, with half a 48kHz sample of offset for one channel (mostly negligible), and everything mirrored in the top 24kHz of spectrum as aliasing (which you can't hear). In other words, it will be very, very close to what a simple mono downmix would sound like.
No. Think of it as an offset. The 2nd channel begins at 48kHz.
I don't follow. We have two streams at 48khz, say 16bit. They get somehow interleaved to 96khz, so that must be 16bit as well. If they were interleaved to one at 48khz 32bit, I could see what you mean, one channel would just be very faint noise on top of the other.
See this image: https://i.imgur.com/Mg20l5s.png

Captured with such a capture card. If you play this file you would only hear the first ~20kHz if you are lucky. The 2nd channel is on top. That's my guess, but happy to be corrected. It sounds fine though.