[HN Gopher] Encoding Data in Dubstep Drops
       ___________________________________________________________________
        
       Encoding Data in Dubstep Drops
        
       Author : albertzeyer
       Score  : 123 points
       Date   : 2021-01-15 13:12 UTC (9 hours ago)
        
 (HTM) web link (blog.benjojo.co.uk)
 (TXT) w3m dump (blog.benjojo.co.uk)
        
       | iamacyborg wrote:
       | Whatever that music is, it sure ain't dubstep.
       | 
       | I wonder how well it'd work with something like this
       | https://www.youtube.com/watch?v=VEAf_ZztCP0
        
         | have_faith wrote:
         | I know the point of the article has nothing to do with the
         | definition of dubstep so it took a lot of restraint to not
         | write something about it ha, difficult when you grew up
         | listening to the early stuff.
         | 
         | I'll take this as my only chance I'll probably get to post
         | dubstep on HN in a valid discussion:
         | 
         | https://www.youtube.com/watch?v=rc85cGTlKLY
         | 
         | https://www.youtube.com/watch?v=dwva123XBMk
         | 
         | https://www.youtube.com/watch?v=l2n7w1H0pRQ
        
         | 1MachineElf wrote:
         | Skrillex is actually regarded as a leader in Brostep, a
         | subgenre and/or style of Dubstep. At least in the USA, Brostep
         | has practically supplanted Dubstep and co-opted the name. This
         | has been occuring for about the past 10 years. A big factor is
         | the "drop" part of Brostep sounding very attractive to non-EDM
         | people who head-bang, and to whom traditional Dubstep would be
         | percieved as "boring" or not stimulating enough (without
         | intoxication). This has led to a re-enforcing cycle where
         | domestic EDM festivals reach greater audiences, and so they
         | keep promoting Brostep as Dubstep.
         | 
         | Personally, I'm not a fan of this shift. I prefer EDM from the
         | era of the track you linked to, and/or contemporary artists who
         | emulate the older styles.
        
           | iamacyborg wrote:
           | Oh I know, I just get irrationaly annoyed by people calling
           | this stuff dubstep. It feels like half the problem is people
           | and/or clubs don't have soundsystems appropriate for playing
           | bass-heavy music at the right level, so they end up listening
           | to stuff that's light on the low-end but still calling it
           | "dubstep".
        
             | blovescoffee wrote:
             | Pretty much every genre changes significantly over its
             | lifetime though. It seems like you could just say you like
             | early dubstep just like people say, "I like old school hip
             | hop" all the time.
        
               | iamacyborg wrote:
               | I get what you're saying but the sound is so completely
               | different it's not a simple evolution of style.
               | 
               | Listen to dnb from two decades ago you can still see
               | where current stuff comes from. Compare early Digital
               | Mystikz stuff with Skrillex and you wouldn't call them
               | the same thing.
        
             | 1MachineElf wrote:
             | You are probably right. For EDM, cultural differences have
             | kept the US lagging behind Europe and the UK. EDM-specific
             | clubs are not common outside of major cities known for
             | nightlife. A lot of EDM tours end up at venues that aren't
             | designed for EDM. These are the conditions informing
             | people's tastes, so probably a big factor for why bass
             | isn't as prominent as elsewhere. There truly are fans an
             | places where it is very much alive, just not as strong as
             | other places IMO.
        
               | tomc1985 wrote:
               | The bass music underground is alive and well in many
               | parts of the US.
               | 
               | Mainstream it is not, and THANK GOD for that
        
               | the_local_host wrote:
               | Brostep may be Dubstep Disneyland, but I'm not sure if
               | being unconcerned with filing music in the right
               | subcategory counts as "lagging".
        
           | rorykoehler wrote:
           | This still gets played on a weekly basis in our house
           | https://youtu.be/qwCr9QRNMc4
           | 
           | To save a click... It's the garage track largely credited as
           | the birth of dubstep
        
             | jk7tarYZAQNpTQa wrote:
             | "Zed Bias - Neighbourhood" is actually regarded as one of
             | the first dubstep songs, or at least a transition one.
             | 
             | Here are some other "true" dubstep tracks, in no particular
             | order:
             | 
             | - Burial - Archangel
             | https://www.youtube.com/watch?v=3J1gvgwHblI
             | 
             | - Rusko - Jahova
             | https://www.youtube.com/watch?v=1OE_jjJkkD8
             | 
             | - Coleco - Taostic
             | https://www.youtube.com/watch?v=krGadL6Je6A
             | 
             | - Kode9 - 9 Samurai
             | https://www.youtube.com/watch?v=1-rEAe4C8gk
             | 
             | - Skream - Mignight Request Line
             | https://www.youtube.com/watch?v=vJGXRQ9vBoU
        
               | zebraflask wrote:
               | I'd make a case for El-B, too:
               | 
               | Express: https://youtu.be/SLbXmPvtZXA
               | 
               | A lot of proto-wobble in this one.
        
               | iamacyborg wrote:
               | I'd say Rusko is responsible for the whole brostep thing.
               | You can see how it all grew from his tunes.
        
               | monocasa wrote:
               | Yeah, Woo Boost was a divergence point for the genre for
               | sure.
        
             | oarabbus_ wrote:
             | It's still very garage/2steppy. I think Anti War Dub by
             | Digital Mystikz is generally considered the birth of
             | dubstep. Of course, ask 10 people and you'll get 10
             | answers.
        
               | iamacyborg wrote:
               | Midnight Request Line is the one I hear most frequently.
        
           | henearkr wrote:
           | Same, I did not know Skrillex but I dislike this style.
           | 
           | On the other hand I love Fonik, for example.
           | 
           | I love even more Deadmau5, E.T.H, ...
        
           | tomc1985 wrote:
           | Skrillex ruined dubstep in the 'states. And he looks like a
           | total d-bag.
           | 
           | I hate that guy.
        
           | ljm wrote:
           | Listening to the Skrillex samples in the article, it just
           | sounds like DnB but... obnoxious.
           | 
           | The Loefah track in the parent comment though, I can get
           | behind that.
        
             | iamacyborg wrote:
             | It's even more obnoxious than breakcore, which is saying a
             | lot.
        
         | djxfade wrote:
         | Yeah, this is the American "Dubstep" commonly referred to as
         | "Brostep". Damn I miss the real Dubstep sound!
        
           | oarabbus_ wrote:
           | This fell out of style for the most part in America 5+ years
           | ago, FYI.
        
             | _underfl0w_ wrote:
             | Can confirm this is no longer the new thing, but FWIW, jazz
             | music similarly fell out of style ages ago, but that
             | doesn't make new stuff in the genre uninteresting to those
             | who enjoy it irrespective of hype value.
             | 
             | That is, it's no longer nifty and fashionable to listen to
             | this type of "Brostep", but people who liked it without
             | regard to its social status may continue listening to new
             | material as though nothing changed, while others may have
             | grown tired of the sound or the social clout it may have
             | brought them to be "in the know" or part of some zeitgeist
             | and simply kept up with "today's hits".
             | 
             | The same is true of lots of genres IMHO.
        
           | iamacyborg wrote:
           | Still some bangers being released on Sentry records, Deep
           | Medi, Bandulu and a bunch of other labels.
        
       | sneak wrote:
       | I was hoping that this would be encoding the data in the audible,
       | data-sounding part of the sound.
       | 
       | The technique described could be used on any bass-heavy music,
       | and is in no way related to dubstep or its data-sounding-ness.
        
       | marcan_42 wrote:
       | 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 ), 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 :)
        
         | dylan604 wrote:
         | Isn'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?
        
           | blovescoffee wrote:
           | Do you have a link? I assumed a low pass filter was applied
           | to the signal to reduce unnecessary data transmission. I have
           | heard about what you're saying and I'm not dismissing it. One
           | could run their television through a low pass filter to get
           | around such tracking, right?
        
             | dylan604 wrote:
             | That's kind of what I was implying with one of my other
             | replies. This filtering is something that Alexa/Googs
             | should be doing on thier end. Their mics should only be
             | listening in the frequency ranges of what human voices
             | exist.
        
           | marcan_42 wrote:
           | This kind of modulating data in infrasound or ultrasound is
           | common, yes. It has been used in toys too, e.g. things that
           | respond to certain sounds from a show. chibi-tech stuck some
           | reverse engineered ultrasound triggers for a certain line of
           | toys in some of her songs :)
           | 
           | https://twitter.com/chibitech/status/1237326756672983040
           | 
           | Infrasound only works digitally because no speaker system can
           | reproduce frequencies that low, and many analog systems will
           | corrupt them (e.g. AC coupling). Ultrasound is therefore used
           | most of the time in practice, but I believe infrasound has
           | been used in digital song watermarking for DRM/copyright
           | tracking purposes.
        
           | GuB-42 wrote:
           | Not really, unless you are doing a 1:1 digital copy,
           | frequencies outside the range of human hearing are often
           | removed.
           | 
           | Frequencies outside the range of a speaker are often filtered
           | out as it can create distortion or even damage. And the job
           | of lossy compression is to remove everything that you can't
           | hear in order to save bytes, and limiting the bandwidth to
           | what you can hear is the most basic step.
           | 
           | Instead, DRM systems typically encode data over a wide range
           | of frequencies (spread spectrum), well within the audible
           | range. It is designed in such a way that you could hear it in
           | theory, but don't notice it because it blends with background
           | noise. It is very robust, resisting compression, recording
           | and even deliberate attacks. In fact, it is one of the
           | techniques used by the military radios to resist jamming.
        
           | _underfl0w_ wrote:
           | You can also trigger wake words like "Ok Google" or "Alexa"
           | by using _harmonics_ of normal human voices that are outside
           | the range of audible sound. The key is that the mic can't
           | differentiate between the harmonics and actual speech of
           | normal human pitch and so the trigger is set off, but the
           | sound isn't audible to humans.
           | 
           | I don't have a link to the paper handy (sorry!) but IIRC I
           | found a white paper on ArXiv called "Dolphin Attack" or
           | similar that demonstrated this. It was a fun read.
        
             | dylan604 wrote:
             | While technically that sounds like a cool hack, it sounds
             | like a dumb thing to actually allow to happen. "Okay
             | Google" or "Hey Alexa" outside of the frequencies
             | reproducible by human voices should be filtered out
             | completely. At least, from my comfy chair nit picking
             | someone else's work. Of course, by not filtering the
             | acceptable bands allows them to do all of the ad
             | tracking/rights management things they are allowing to
             | occur. The fact that Alexa/Google is able to do these ad
             | tracking/rights management is just another example showing
             | that the mic is listening 100% of the time.
        
         | IIAOPSW wrote:
         | The 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 wrote:
           | Wrong 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
           | 
           | 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
           | 
           | 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.
        
       | corytheboyd wrote:
       | Big shout out to the ideas like this that are just someone having
       | fun and being excited enough about the outcome to share with the
       | world :)
        
         | have_faith wrote:
         | a "Big shout out" is very appropriate for a post about dubstep
        
         | petercooper wrote:
         | Ben's blog is full of this stuff, it's fantastic, definitely my
         | favorite 'doing fun stuff with tech' blogger of recent years.
         | 
         | https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-st...
         | is one of my favorites.
        
       | adamddev1 wrote:
       | This is really cool. Can the author or anybody else tell me how
       | he made those gif sketches with the moving waveforms and
       | equations?
        
       | arilotter wrote:
       | A DC offset, which amplitude-shift keying like this introduces,
       | isn't so nice to your speakers. It might cause them to heat up as
       | the offset waveform holds the magnet out in one direction. I do
       | love the idea of hiding data in "messy" audio, though :)
        
         | arcticbull wrote:
         | Aren't all speakers AC coupled? Should be filtered out by
         | somthing as simple as a blocking capacitor no?
        
           | arilotter wrote:
           | Yes, it's unlikely to cause problems in any real-world setup,
           | but it's theoretically possible :P I've edited my original
           | comment to clarify that it won't always be the case.
        
             | lostlogin wrote:
             | Signal that can damage hardware is something that used to
             | be discussed with CRT monitors back in those ancient times,
             | and rumours existed of a virus that played on this.
             | 
             | Having damaging audio signal is a new one for me.
        
           | Unklejoe wrote:
           | Not necessarily. The amplifiers sometimes are though.
           | 
           | In a normal 2 or 3 way speaker cabinet, you'll have an analog
           | crossover which consists of something like a capacitor in
           | series with the tweeter (high pass filter), and an inductor
           | in series with the woofer (low pass filter).
           | 
           | In that case, the tweeter is protected from DC, but the
           | woofer isn't.
        
             | arcticbull wrote:
             | Very cool thank you!
        
         | isoprophlex wrote:
         | Also, if the data rate is low enough, compression will probably
         | also remove such dc components?
        
         | tekstar wrote:
         | If it's audio rate how is it different than a squarewave?
         | 
         | Edit: looked closer at the post, the DC offset lasts for over
         | 100ms per cycle.. yeah that's a problem
        
           | virgil_disgr4ce wrote:
           | The problem is not the waveform, it's the DC offset requiring
           | more constant current to the voice coil.
        
           | mkr-hn wrote:
           | All waves are made of sine waves. DC offset is when the
           | signal is too much one way or another.
        
             | dylan604 wrote:
             | Maybe in analog, but in digital, they are squares and what
             | not type of waves.
        
               | layoutIfNeeded wrote:
               | Sigh... No, digital signals are not "square waves".
               | https://youtu.be/cIQ9IXSUzuM
        
               | bhj wrote:
               | I always laugh when vinyl is described as more "pure".
               | There's nothing more pure than math, and that's digital
               | PCM audio. Sure, it's stored as discreet samples, but
               | that's not how it comes out of speakers. The
               | digital->analog converter will give you 1:1 perfect
               | representation of the original waveform as long as you
               | sample at 2x the highest frequency desired and there's a
               | low-pass filter in place.
        
               | anamexis wrote:
               | For the record, I don't think vinyl enthusiasts ever
               | describe vinyl audio as more pure. "Pure analog," yes,
               | but that's different (and true). It's generally
               | acknowledged by vinyl enthusiasts and audiophiles that
               | vinyl introduces a lot of imperfections, which some
               | people prefer.
               | 
               | Also worth noting that an _ideal_ D /A converter will
               | give you the exact waveform back, but such a device does
               | not exist (but you can get pretty close).
        
               | dylan604 wrote:
               | Have you ever played with an Arduino or similar device?
               | Comparing inputs signals on a digital pin vs an analog
               | pin? Hopefully, you'll agree it's the same concept. If
               | you haven't, I'd encourage you to try one out. They are
               | loads of fun. I am a huge fan of analog, yet digital is
               | just so damn convenient. If you have played with one,
               | you'll understand why your comment makes me smile and
               | chuckle.
        
               | grkvlt wrote:
               | Not strictly true, you must sample at 2x the frequency
               | _and_ at sufficient resolution in the amplitude domain,
               | i.e. an ADC that samples at 44 kHz but with only one bit
               | of resolution (outputs a 1 for positive input voltage and
               | 0 for negative, say) would be pretty awful...
        
               | dylan604 wrote:
               | Sigh... you are wanting to show me that we can do A/D and
               | D/A again? Thanks, I was totally unawares that we could
               | do that. I've never heard an audio signal played back
               | once it was digitized. My life is now complete.
               | 
               | What this guy is showing is not a digital signal. It is
               | an analog signal that has been generated from digital
               | data. Not sure what the point of all of this was, but
               | thanks, I needed a break from finding this bug I've been
               | trying to squash.
        
               | _underfl0w_ wrote:
               | Your comment might be more helpful (i.e. more likely to
               | be read by others who could use the information you're
               | providing) without the snark.
        
         | magicalhippo wrote:
         | In a traditional amplifier the DC should be blocked by the DC
         | blocking capacitors, but I guess with modern full-bridge
         | class-D amplifiers which don't require those it'll have to be
         | done on the software/digital side?
        
       | dimnsionofsound wrote:
       | I was thinking it'd be something more like this:
       | http://www.windytan.com/2015/10/pea-whistle-steganography.ht...
        
       | TheActualWalko wrote:
       | Hey cool! Here's essentially the same encoder in a few lines of
       | JS, you can run this on https://wavtool.com by pressing cmd+;
       | (() => {         const message = 'asdf';         const
       | messageBinary = message.split('').map(c =>
       | c.charCodeAt(0).toString(2)).join('').split('').map(Number);
       | const bitDurationSeconds = 0.1;         const shiftSize = 0.1;
       | return wavtool.mapSamplesCommand((sample, index, channelData,
       | settings, context) => {           const bitIndex =
       | Math.floor(index / (bitDurationSeconds * context.sampleRate));
       | const shift = bitIndex < messageBinary.length              ? (2 *
       | (messageBinary[bitIndex] - 0.5)) // [0,1] => [-1,1]             :
       | 0;           return sample + shift * shiftSize;         });
       | })()
        
       | tekstar wrote:
       | Reminds me of Aphex Twin (and some other artists) embedding
       | images in the spectrograph render of their songs:
       | 
       | https://www.magneticmag.com/2012/08/the-aphex-face-visualizi...
        
         | 1vuio0pswjnm7 wrote:
         | I have read that is quite common in, e.g., file carving, CTF
         | challenges.
        
           | tekstar wrote:
           | Stenography is common, but usually it's just modifying the
           | last bits of an image or hiding the extra payload after the
           | image data. This is "drawing" within the audio spectrum,
           | making the image out of audio that will be audible.
        
             | BugsJustFindMe wrote:
             | Steganography. Stenography is something else. :)
        
               | tekstar wrote:
               | This gets me every. Time. Lol
        
       | brianzelip wrote:
       | Just going to drop this here then,
       | https://www.youtube.com/watch?v=eTNx_SsApu4
        
       ___________________________________________________________________
       (page generated 2021-01-15 23:00 UTC)