Whenever I start a new creative project, I always get a new toy - some cool plugin, or musical instrument, or spiffy microphone - something to just play around with for no other reason than to have fun. Making time for play encourages “childlike discovery” which is when good ideas happen.
"PixelSound" is an audio toy that makes a sound based on the color of the pixel your mouse is pointing at. It's a Unity/Wwise project (partly inspired by the excellent program PhotoSounder) that loads up a jpeg, then sets RTPCs to red, green, blue, and grayscale values including x/y screen position.
It's also a way to use Wwise as a sound design tool. Need to create some related variations for a random container? Set up a mix of assorted stems; let it run while recording the output; cut up the results and pick the ones you like. It's a common enough technique ...
Using the color values of pixels to set Wwise event parameters is just a way to generate pseudo-random variations. You can set up patterns to trigger specific effects, or load up a photo of your dog just to see what happens. This kind of "seemingly but not really completely by chance" algorithm can be considered "stochastic", a composition method famously utilized by Xenakis to produce interesting tonalities.
To play, fire up the Unity project, and click on the screen. Move the mouse around to hear how the event reacts to the colors and screen position. Click again to stop.
Download the project here.
You can drop your own .jpg files into the Assets/Pictures folder, then drag them into the "Picture" field of the GetPixelParameters script attached to the "pictureSprite" game object. This formats and resizes the picture to the screen, starts/stops the selected Wwise event, and sets the RTPCs.
The Wwise project contains some demonstration and test events that modify volume, pitch, trigger rates, EQ, and other parameters. They produce a variety of noises you can play with -- but of course, the whole point is to have fun messing around with your OWN sounds and pictures. There's also a Wwise Recorder instance on the Master Audio Bus, in case you want to record the output for later editing.
**Project update - "VPixelSound"**
VPixelSound is basically the same idea as PixelSound, except it uses video instead of jpegs. You drop in a .mov and select a position (center screen by default). RTPCs are set to red/green/blue/greyscale values as before, but I added some State processing as well, whereby color values set Wwise states on a ten step scale (i.e. blue_00, blue_01 ... blue_10).
Using this version, Wwise events are controlled by moving picture, rather than by moving mouse. The series of colors that generate the audio is also repeatable, in case you wanted to craft an event for a specific sequence of images. Multiple cursor positions and color averaging options are available as well.
Most videos will provide interesting input for sonic experimentation. I used QuickTime Screen Recording to create the included samples, but any capture method will do. Note: no soundtrack needed, and any video format Unity supports should work.
Remember, this project is an audio toy; the point is to try out your own videos and Wwise events to see what noises you can produce. Is it useful as a Serious Sound Design Tool? <shrug> All I know is it sure is fun to play with! (and isn't that an important aspect of any creative work?)
The "VPixelSound" project can be downloaded here.
I can possibly see this technique being useful in a game:
- Modify the ambience based on the color of a procedurally generated sky
- Change filter settings based on the greyscale value of a scene
- Randomize UI/selection sounds based on screen position
Granted, it's a whimsical technique that could maybe support creative audio solutions. But mostly, it's just supposed to be fun to play around with, and experiment with the powerful features available to sound designers when using Wwise as a synthesizer.
What does blue sound like to you today?