Creating Music From GPU Noise

Yep, that’s a picture of a Laptop rocking out on an electric guitar. In what can only be described as a truly bizarre hack [CNLohr] discovered that the RF noise from the computer can be used to play music through the guitar’s pickup.

Check out the clip after the break to hear an annoying, but very discernible rendition of Jingle Bells. Once [CNLohr] stumbled onto the fact that changes in what the graphic processing unit is doing was affecting the pitch detected by the pickup he started writing some code. Now he’s got a program that automatically calculates the size of the window, and produces a white square on a black background to dial in the GPU at the right frequencies.

He mentions in the notes accompanying his video that he had to turn off Vsync to get this to work right. We don’t understand why but we’d love to hear what you think in the comments.


27 thoughts on “Creating Music From GPU Noise

  1. Hmm.. There is a programm called “Tempest for Eliza”, which can music over computer display (and it also works without any display – i tried it with HDMI cable, disconnected from monitor). Probably, this is the same effect.

  2. listening in to the RF noise emitted by electronic devices (computers, cell phones, motors, lights, calculators, you name it) as a source of sound is not that “bizzare”. in experimental music circles this is well documented and quite common. typically, a telephone pickup coil is used (rather than the guitar’s pickups), but any coil will work — the coils can be scavenged from relays/solenoids or even hand wound, and then just wired to a mono jack/plug of your choosing, and plugged into your favorite amp. there is lots of great sounds to be found this way.

    that being said, this is the first time i have ever seen anyone sequence this RF noise by way of programming. pretty cool hack indeed.

  3. That is neat. i wonder what it would sound like if he played a game on solitaire or a NES emu. I used to sit for hours trying to get stuff to come up on a old TV. I actually found if you put a DS fat by an old CRT TV with nobs it will show both screens. Not vary clear but you can make stuff out.

  4. This reminds me of something I used to do as a kid with my old TRS-80 Model 1 computer. If you took an AM radio and tuned it to a blank area on the dial and set it next to the TRS-80 you would hear different tones as you pressed different keys on the computer’s keyboard. Someone published in a magazine (Byte?) which keys produced which notes and a bunch of songs you could play and which keys to press to play em. Pretty cool stuff circa 1980-81……

  5. What fun stuff!

    I recall doing this with CPU noise on the Radio Shack TRS-80 model I back in 1979. I enjoy seeing how everything old is new again when being re-discovered by the next generation.

    Keep up the good work!

  6. I am totally surprised this got on hakaday! Especially considering it’s 2 years old.

    Y’all should check out the newer one where I turn it into a musical instrument of sorts:

    @Japa – it only works with vsync off.

    @Andrew – I was looking at tabs on my laptop with my guitar on my lap, and as I scrolled up and down it made a horrible scratching noise. It was just a matter of playing around before I found

    @Everyone – I never knew Tempest for Eliza existed until now thanks! The principles are (pragmatically) very different since my effect relies on the GPU sucking power from the system, and the other has to do with the cable.

  7. Huh, I’m really surprised this made the cut for hackaday, especially considering it happened like two years ago.

    I don’t know why it didn’t link on youtube, but a year after I posted this, I made it into a musical instrument of sorts…

    @Japa – You have to turn VSync off, otherwise you only get one note.

    @Andrew – I had my guitar on my lap and my laptop right next to it while I was reading tabs, when I scrolled up/down it made hideous tearing noises.

    @Everyone – thanks for the Tempest for Eliza thing! Today was my first experience seeing it – it’s fundamentally different since this RF is from the power the GPU sucks and the other is the video output, but awesome!

  8. Well, as many of you say, you recalled doing it back in the days. Now remember this. It has actually become alot more difficult to do this now-a-days, because you don’t really low-level program everything anymore. So today, alot of other things will play a role too.

    So yeah, It’s the same. But I would also say a little more challenging today.

  9. @Matt:”I want to do the opposite: I want to take the noise out when I have headphones plugged in.”

    You could write a program to invert the sound and play it back to cancel the noise.

  10. I can’t help but wonder if it would be possible to use this or a similar technique, with a spatial dimension added, to construct an image of hardware activity. Not a memory dump, but perhaps something like a hardware usage overview or a “shadow” of the programs running. If magnetic resonance can be used to track brain activity in real time, it might be possible to extract something like an EEG from a microprocessor.
    Note: I am a complete n00b, so take this rambling with several hundred grains of salt

  11. @tooth, mjrippe

    …He figured out how to do something that his computer already did…………………..

    You’ve never made a PC beep before? For instance, write a program in assembly that plays a beep out the motherboard’s speaker simply by alternately driving the speaker high/low at a certain interval…? This is beyond trivial, I did it in my first programming class like 18 years ago… Now people do something like this (but much less in depth from a programming perspective) and it gets praised as a “hack”….?

    What the hell happened to this field? When I was a kid, creativity still existed. Now, this. :(

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.