Dynamic Sound Processing – early beginnings

Following from my last post I have been beavering away at some early stage proof of concept (POC) code to ensure tha the positional audio systen has a hope of actually coming into being in the limited timescale available. The main criteria for the system are as follows

  • Must be able to trigger and manipulate audio samples dynamically
  • Must be able to run custom positional logic
  • Must be able to trigger video and/or still image
  • Must be able to render to an audio/video file format for the purposes of module delivery

The solution I have come up with is to use Processing (normaly used to program  graphics) running the oscP5 library to generate Open Sound Control (OSC) commands that address audio/video/still media and effects plug-ins assembled in Resolume Avenue. The latter being a pretty robust piece of commercial VJ software that excels as a real-time a/v composition platform, with the very handy ability to render out video files without too much trouble.

Here is a sample of the POC code which just tests the water in terms of triggering and manipulating an audio source programmatically.

Even if the code does not make sense, you might glean from the comments that the routine ‘connects’ a sound clip (ie triggers it), sets the volume, stereo placement and reverb. The values set are arbitrary at this stage, just to show that the technique can be used, the real work will come in developing the positional logic, relating this to the audio parameters and tweaking to hopefully make it all sound ok in relation to the accompanying video image 😉

Here is an example of an electronic chirp created for the test, played ‘as is’ without treatment.

Here is a clearer picture of the (mono) waveform (generated by a slightly modulated sine wave).

Here is the dyanamically treated version

And here is a picture of part of the wave form which now shows the sound in stereo with reduced volume, a bias to one side of the stereo axis and the beginning of a long reverb tail

So what? Well it’s all controlled by code so as long as the host machine processor or any of the constituent platforms don’t max out, the road is clear to create the afore-mentioned sound diffusion system.

Advertisements
Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s