4 ms·
The way the author went about doing and explaining this is somewhat confusing. What he arrived through that strange band split/merge process is actually ~identi
by marcan_42 6y ago
The way the author went about doing and explaining this is somewhat confusing. What he arrived through that strange band split/merge process is actually ~identical* to:
- Apply an EQ filter that lowers the volume of the 0-100Hz band by 6dB (this happened because he halved the amplitude of the 100Hz band)
- Add a slow binary digital signal at around ~4 baud (2Hz fundamental), with slopes smoothed to around 10% of the bit time.
This has nothing to do with dubstep or bass drops - it would work for any song. It's just modulating data in infrasound, at 2Hz, which is well below the threshold of human hearing. The problem here is that he's also needlessly reducing the level of the 0-100Hz band to half the amplitude (6dB), which completely kills the bass feel of the original song. Dubstep fans will not approve (and he needs better speakers if he can't hear the difference).
A much simpler, more sensible process would be to just do this:
- Apply a steep highpass filter at 20Hz (the limit of human hearing), to remove any inaudible low-frequency (infra)sounds.
- Reduce the volume of the overall song by, say, around 1dB, to make a bit of headroom for the modulated digital signal
- Encode whatever you want in those 20Hz in the headroom you created (the amplitude can be quite low, e.g. 5%, it doesn't need to move the whole waveform over).
Then to decode it just lowpass the signal at 20Hz and do your bit detection after that - the filter will remove the audio, leaving only your signal, so it doesn't matter that your signal isn't a whole 50% of the output power. Now the song is only 1dB quieter. You can use as simple or as fancy a modulation technique as you want in that 20Hz band. You could use (normal) ASK as he did, just lowpass it to remove any high frequency components. You could use FSK. You could use QAM. Whatever.
* His process actually also messes up the original 100Hz band by modulating it with a ~4Hz square waveform due to the way he does the modulation by inverting and interpolating, which is going to create harmonics and other ickiness around the transitions, as well as does not guarantee the absence of clipping due to the way he only reduced the amplitude of the low 100Hz band (this process can actually increase peak levels, as can happen any time you use frequency filtering - try his high-pass filter command on this file and watch sox complain of clipping, even though the original file does not clip: https://mrcn.st/t/filtering_clips.wav https://mrcn.st/t/filtering_clips.wav ), so I would not recommend trying to emulate his approach precisely even if you want to achieve the same actual effect, since it's actually quite a silly way of going about doing it :)
- IIAOPSW 6y agoThe limit of human hearing is a bit above around 20KhZ. Emphasis on the K. It is totally possible to hear 20Hz noise. In fact 20KhZ is better for this because you can use a higher bit rate and that band is going to have very little intentional noise to begin with.
- marcan_42 6y agoWrong side of the spectrum. The lower limit of human hearing is 20Hz. It is not possible to hear <20Hz noise. It is, however, possible to feel it, if the sound pressure is loud enough and you actually have a subwoofer capable of reproducing those frequencies, but that is rather unlikely unless your subwoofer is a cut-out in your room's wall with a fan in it. https://en.wikipedia.org/wiki/Rotary_woofer https://en.wikipedia.org/wiki/Rotary_woofer If you feed a 20Hz signal to a typical home subwoofer (or even most club systems) and hear something, you aren't hearing 20Hz. You are hearing a bunch of high frequency rubbing noises as the speaker cone moves at 20Hz, trying and utterly failing to couple any amount of energy at that frequency into the air. This is why many songs these days are produced with "bass maximizers" and why modern laptops can sometimes have "decent bass". It's not bass, it's a filter that purposely distorts the bass, which your speakers can't reproduce, into higher frequencies, which it can and which we've learned to associate with heavy bass played through systems that can't reproduce it but distort instead. Just for reference, I believe these are the subs we use at Euskal Encounter. I can vouch for the fact that they can make the floor shake in a massive event hall venue. Low end response: down to 28Hz. No more. https://jblpro.com/en/products/vtx-b18 https://jblpro.com/en/products/vtx-b18 It is indeed better to modulate data in ultrasound since you have a lot more bandwidth - except for the fact that any lossy compression applied to your file is going to completely destroy your data. This is one thing the author got absolutely right.
- dylan604 6y agoIsn't this precisely what some ad tracking people or rights management are doing? Aren't they adding audio that is out of range for human consumption but things like Alexa can hear them so that, or so the broadcaster can tell that a pub is broadcasting a match without paying for it, etc?