47 comments

[ 3.7 ms ] story [ 95.6 ms ] thread
I always love glitchart, this is pretty rad. Good job!
Thanks, I'm having a ton of fun with it.

I just added video support.

Working on audio support now.

Might be interesting to experiment with different mappings of pixel location to audio sample number, rather than just having a row by row linear scan from corner to corner.
I am curious. I do not know much about image encoding and the such. What other types are there besides linear either row by row or column by column? It seems to me that those two are the only logical ways to map pixels.
Any permutation could be used, but I suppose you'd want to use ones that form some sort of visually recognisable pattern. For example, a spiral emerging from the centre of the image, or all the even numbered pixels from a linear scan followed by all those indexed by an odd number.
"a spiral emerging from the centre of the image"

Would this be middle-out compression?

If there was a raw format that did this, or some other very exotic thing, that would be very interesting.

Right now I've mostly been exploring YUV and RGB colorspace in either packed or planar formats.

Now make gifv with a script that changes the audio effects over time.
You can use Audacity to open and edit images using musical effects too (and sometime destroy image metadata)
That's the nice part about using a raw format like YUV444 or RGB24. No metadata to destroy.
Hi HN,

I just finished adding video support (and stubbed out audio support).

Due to already using ffmpeg for image manipulations, this turned out to be rather easy.

Give it a try using something like this:

  $ ./mangle.sh in.mp4 out.mp4 --color-format=yuv444p --bits=8 --blend=0.4 overdrive 17 hilbert -n 5001
This is fantastic.

For folks wanting to play around with this on OSX:

brew install ffmpeg lame brew install sox --with-lame

The --with-lame is important if you want to process mp4s.

Might want to consider putting some kind of progress indicator (simple polling on tmp_audio_in.u8 vs tmp_audio_out.u8). I ended up looking at the output directory with

watch -n .5 ls -la /tmp/audio_shop-DIRECTORY

I think the cleanup isn't working quite right, getting a rm unlink failure.

Seriously, this is a neat hack.

That's excellent feedback, thanks!

I'll keep hacking at it this stuff for at least a little bit.

i think the progress could be done with pv. | pv -s $( somehowgetinputsize ) > tmp_audio_out.u8
Neat. I assume it would be possible to do the same thing in reverse then? As in, use image editing effects on audio clips?
Presumably.

That might be the a better way of doing things actually, since visual tools are 2-dimensional by nature.

https://www.fsynth.com is a web synthesizer which is just doing that, a canvas content is generated by the GPU and converted to sounds in real-time, there will be a feature to import sounds directly soon.
This is a very strange and fun idea. Good job!
Is that something like metasynth (http://www.metasynth.com) ? You import a picture and use it through FFT to generate sound ?
About metasynth, I don't know. I had a quick look but it would seem to be more of an audio only application.

Nope! Less fancy than that. I just take the bitstream and 'choose' to interpret it as audio.

For it to work somewhat well, a raw video format like YUV444P is used.

The author of the modular synth "SunVox" made a live tool called "PixiVisor" that does something similar.

http://www.warmplace.ru/soft/pixivisor/

The last two videos on the page are particularly impressive, which demonstrate video mixing using two channels of an audio mixer, and video blurring from multi-path audio reflections.

That looks like a fantastic tool.

Being able to do interface with external off the shelf audio gear with an otherwise software only solution would be the goal of all this.

that guy/gal is an uber engineer. love all the stuff they've made!
Sunvox really is a stunning piece of software, for anyone who hasn't seen it or tinkered with it. It explores UI and synthesis in ways that haven't been really explored much (Jeskola Buzz started down the path many years ago, and there have been others in that space, but Sunvox is a beast in a category of its own). And, it runs (well) on very small devices...I was able to run it effectively on an old Nexus One, and it does very well on my Nexus 7 table and modern phone. It's hard to actually compose with such a small interface, but the synthesis and UI are efficient as hell. And, of course, it runs fine on a laptop of any sort.

So, yeah, I agree. Alexander Zolotov is brilliant and prolific. The demo videos for Sunvox are worth a watch.

Cool thanks for sharing the name. I've been thinking a lot about functions that operate across multiple modalities (modalities as in visual, auditory, etc) lately. Good to know someone else has thought about it too, and looks like went much further.
Is there a way to use image compression for MP3s?

I'd like to store music files in my phone's camera roll, and easily upload them to a website where some Javascript could decode and play them.

The explanation page seems to crash every browser on my phone I can throw at it. Very weird...
This will make some interesting synthwave art.
I used to play with this as a kid. I couldn't script it, but I could remove the headers from a bmp and add the headers for a wav in a hex editor. Then I tried all the effects in audacity. The resulting images were pretty cool (only grayacale).

I also tried different audio compressions on the picture. Ogg vorbis even looked better than mp3, haha.

I actually played with doing the opposite when I was in high school: photoshop had a "RAW" file format plugin which let you specify the offset past the header and the bitmap data stride, height, width, and pixel format. You could open a WAV file as a Nx1 bitmap and then apply filters to it and get some interesting effects when saved back out and played in an audio player.
next step: edit an image using a full score for a song thus creating a movie.
Input a picture and a song and create a gif/video... That would be crazy great.
You had one job ... what we need is PhotoSound. With layers of groove and harmony to deepdream our way to push button music creation.
That's a really neat idea. Good job!
(comment deleted)