Updated 04/20/2017: Better support for different image formats, translated to english, slightly improved looks.
Did you ever want to hear your pictures? Now you can!
Image2Sound converts an Image to an audio file. The special thing is that you can see the images again if you run the audio file through a sonograph like Spectogram, which runs reasonably well in Wine on Linux.
Converting an image to sound:
(Sample image from The Far Side by Gary Larson)
The generated sound file in a sonograph (I used Spectogram)
- Generates WAVs out of Images
- Linear or logarhytmic
- Frequency range and sample frequency selectable
- Length of the generated sound file selectable
- Easy handling
Java2 version 8 or newer. You can check if you have it using this command line command (Windows: Start->run->cmd):
If you get nothing or if it's telling you that it doesn't know the command "java", you probably don't have java. If you get something, it should look like this:
java version "1.8.0_92" Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
If the number is 1.8 or larger, Image2Sound should run.
If you don't have Java or an old version, you can download the newest one at Java.com.
If everything works, you can just double-click the jar file, but sometimes a compressing software like WinZip graps this file extension.
If that happens, or it doesn't run despite you having java for some other reason, best just use Jarfix.
Oracle pulled a fast one on us, newest (Oracle) Java versions have horrible licencing. So either choose 1.8, the last proper version, or chose OpenJDK:
Java 1.8 via Java.com
Newest Java via adoptOpenJDK.com
A few tips for good results:
- The best results come from clear lines, like inked lineart
- Images with a background are not a good idea, it's often hard to make out
- The clearer the lines, the clearer the output
- Quadratic images seem to produce the best output
- Dirt or JPG-fragments also influence the output
- Log scale sounds better but looks slightly worse in a sonograph
#12 gerd wrote at 03/19/2013 01:43 PM (EST):
das programm ist echt klasse, doch wie kann ich die wav-datei wieder decodieren, also in ein bild umwandeln?
#13 Klaue wrote at 03/19/2013 02:00 PM (EST):
Wie in der Beschreibung geschrieben, z.B. mit Spectrogram:
#11 ChriPou wrote at 12/30/2011 04:00 PM (EST):
#8 PadPad wrote at 09/26/2010 04:49 PM (EST):
Wenn du mal irgendwo in einen Zeitungsladen kommst, schau mal in die Ausgabe 10/10 von com! auf Seite 79. ;)
#9 Klaue wrote at 09/27/2010 01:02 AM (EST):
Nun bin ich aber gespannt ;)
Bisher wurde eines meiner Programme nur in einem ungarischen Heft erwähnt, wo ich leider auch mit Übersetzungssoftware kein Wort verstanden habe - Ich bin nicht mal sicher, ob's im Heft oder nur auf der Homepage war :)
#10 Klaue wrote at 09/28/2010 01:06 AM (EST):
Ich hab's mir nun mal besorgt und.. Cool :)
Wär nur nett gewesen, wenn sie mich gefragt hätten, ob sie es auf die CD tun dürfen (auch wenn sie es durch die Lizenz dürfen) oder mir zumindest einen Tipp gegeben hätten. Auch scheint mir der Artikel erstaunlich ähnlich zu meinem eigenen, http://klaue.net16.net/anleitungen/stegano.php ;)
#0 anders malmberg wrote at 02/10/2010 09:42 AM (EST):
Really good. I asked a friend of mine to write a program like this for me, he did it by using octave (a freeware of mathlab) but he set it up on a linux plattform. and i´m running windows. wich only resulted in syntax error.
i have a friend of mine who asked me to make a ringtone for his mobile. and after some thinking i came up with the idea of transforming some ugly images of him to sounds.
this is how i found your program.
anyway i seem to be having some malfunctions with it aswell.
i loaded the image, so far so good, determined the freqwenses but when i wanted to generate the sound file. it went into a loop i cannot exit or shut down.
vorbereitung. bereite generierung vor... tick tack tick tack.
anyway nice to see a program for those kind of opperations.
#1 Klaue wrote at 02/10/2010 09:43 AM (EST):
I think I know why.. The image you choose was probably really small or your computer faster than my labtop from 5 years ago (the one I used to write this)
what probably happend is: the operation was finished before the progress bar was displayed, so the progress bar never got the command to hide. As far as I remember the soundfile should've been generated successfully.. I'll look into it, should be a minor fix.
#2 Klaue wrote at 02/10/2010 09:44 AM (EST):
OK, I changed the whole progressbar to a more standard-java-method. The upside: now your problem should be fixed. The downside: Now you need Java 1.6 instead of the (outdated) Java 1.5
#3 Anders wrote at 02/10/2010 09:45 AM (EST):
then it´s probably time to update the java anyway.
i got the sounds from my friend today. i sent them to him so that he could transform them for me. i never guesed that an ugly image like that could sound so cool :)
if you´ve got an e-mail adress i could send you the patches he collected for octave. [have to ask him first though]
#4 Klaue wrote at 02/10/2010 09:46 AM (EST):
thank you, but i don't need that. i don't know mathlab (the language i mean), so it would not help so much
#5 anders malmberg wrote at 02/10/2010 09:46 AM (EST):
tried your updated version and it works. thanks. the esthetics of the sounds are quite different. but the way they treat the information is quite different aswell.
#6 Klaue wrote at 02/10/2010 09:48 AM (EST):
well, what i do is: i converse the image to monochrome, then I go from left to right trough the Image while every pixel (theoretically) represents an own frequenzy. its height in the Image is the Frequenzy and the darker it is, the louder it becomes.
did you try logarithmic instead of linear? it sounds quite different :)
as i wrote in the description (in german): you get the best results with an image with clear lines and no background color like lineart. Photographies sound quite bad because they always have a background and therefore white (or quite colorful, depends on the image ;)) noise
#7 Klaue wrote at 02/10/2010 09:48 AM (EST):
oh, i forgot: if you choose logarithmic, be sure to choose the upper frequenzy limit somewhere in the human hearing range.. most of the pixels in the image will be somewhere around the top of the frequenzy range, so if you choose the upper limit too high, you'll probably wont hear much
would be like this: http://www.richland.edu/james/lecture/m116/logs/logarithmic.gif
where the frequenzy would be vertical and the heigh of the pixel horizontal