Live data from Hacker News

Show HN: Small C Program to Convert Photos to Audio

github.com

11–18 of 18 posts

Re: Show HN: Small C Program to Convert Photos to Audio

#11
post #3

Very interesting. I wonder how it would cope with some noise -- for example playing the resultant file and recording it with a microphone for example. I suspect there will be content lost at the bottom and the top of the image depending on the frequency response of the microphone/speaker.

If it's just through a cheap speaker and mic, you'll probably lose a lot of the image.

This uses a linear frequency scale (which is just the nature of Fourier transforms), whereas our ears are sensitive on a log frequency scale. In other words, the information that's most important to our hearing, which is what a mic & speaker will preserve the best, is in the bottom 10% of the image.

A cheap speaker & mic will probably lose a lot of content above about 10 kHz - which is the entire top half of the image. Even though this wouldn't be that huge a difference to our ears, it would sure look bad in the image.

As for background noise, the difference would probably look like the difference here: http://www.sweetwater.com/insync/media/2010/09/RXAdv-e-xlarg... (that's a screenshot of audio restoration software that removes noise, so it's technically doing the opposite process as best it can, but the difference would be similar).

Re: Show HN: Small C Program to Convert Photos to Audio

#12
post #9

Aphex Twin had hidden spectrogram images in some of his tracks in the past, unfortunately I think they are not well preserved by multiple steps of compression/reencoding to youtube videos. https://www.google.de/search?q=Aphex+Twin+Spectrograph&tbm=i... https://youtu.be/M9xMuPWAZW8?t=5m31s

On Madeon's latest album, he hid his logo in the transition between two tracks: http://i.imgur.com/yPJTTs0.jpg

It sounds pretty cool too - you can hear the tones going up & down: http://www.youtube.com/watch?v=lz10F2Rtqv8&t=3m40s

Re: Show HN: Small C Program to Convert Photos to Audio

#13
post #3

Very interesting. I wonder how it would cope with some noise -- for example playing the resultant file and recording it with a microphone for example. I suspect there will be content lost at the bottom and the top of the image depending on the frequency response of the microphone/speaker.

This isn't exactly related (as it doesn't produce a spectrogram), but the software pixivisor plays around with this idea: http://warmplace.ru/soft/pixivisor/

The software can act as a transmitter or receiver. In trasmitter mode, you can provide it a static image or animated gif, which it will convert into audio which plays continuously. In receiver mode, pixivisor listens via the mic or line-in (depending on hardware platform and whats attached) and reconstructs the image from the audio. You can then manipulate the audio however you want.

This demo uses a korg monotron's low pass filter and LFOs to mangle an animated gif of a cat: https://www.youtube.com/watch?t=63&v=g2W1W4fwEkg

Its really interesting to me to see how the audio modulation is represented in the receiver's output.

Re: Show HN: Small C Program to Convert Photos to Audio

#15
+1 stb_image.h it uses a good interface for an image loading library, something nobody seems capable of even in the "good ol' days"... just a shame it doesn't support more of PNG (16-bit channels would be nice, and support for bigger images too)

using libpng, libjpeg etc. however is a massive pain with lots of work required even if you just want to do what everyone does pretty much and load a file into RGBA buffer and get back the width and height. :)

Re: Show HN: Small C Program to Convert Photos to Audio

#16
post #15

+1 stb_image.h it uses a good interface for an image loading library, something nobody seems capable of even in the "good ol' days"... just a shame it doesn't support more of PNG (16-bit channels would be nice, and support for bigger images too) using libpng, libjpeg etc. however is a massive pain with lots of work required even if you just want to do what everyone does pretty much and load a file into RGBA buffer an…

Yep. The stb_image.h API is very simple. Also, because its just an #include, you don't need to worry about your users needing to figure out how to link a library.
Post reply on HN