Posts Tagged ‘programming’

This is a video from an interactive installation made by Emily Gobeille and Theodore Watson. The software is made with openFrameworks. Participants can interact with the sonic ecosystem by speaking into a microphone. It’s very beautiful. More pictures here and here

Derivative_TouchDesigner

Derivative’s TouchDesigner is a new programming tool, at least for me. It’s a graphical programming language for art, video game prototyping, 3d animation, audio and more. It’s also got support for OSC, XML and html, and that’s a good thing! There are two versions, one free and one you have to pay for. Here’s a list of some of the things it can be used for.  I would like to try it out when I get some free time..

Derivative’s net site
Here is the wiki

The C++-based OSC-controler I’ve been working on for my master degree in music technology is nearly finished.
Here is a screenshot:

GranularScreenshot

As you can see it’s on Windows, but since I’ve been using the openFrameworks library, it should be possible to compile it for Mac and Linux as well.
The sound is generated in Max. The only thing you have to do in Max is load samples, everything else can be controlled from the application itself.

Here are some of the features:

  • 16 step drum sequencer with individual settings per step and the ability to store patches
  • 16 step synth sequencer (a little cheesy at the moment, but it might become cooler) based on a simple synth design with saw, recangle and noise oscillators + filters and envelope
  • For the step sequencer, you can adjust BPM and lenght (1 to 16 steps)
  • Sampler with 25 voices with looping. Each voice has it’s own filter, distortion and frequency reduction effect and it’s own send to grain
  • Pitch controller per sample voice
  • Samples can be sequenced, but for now it’s only note on and note off
  • 4 effects; reverb, delay, ring-mod and flipper (FM-style modulation) – for delay and reverb effects I use freware VST-effects (for best result)
  • Granular effect – audio output form every synthstep, drumstep and sample voice can be sent here
  • Circle-based effect parameter editing
  • Audio recorder – controls audio recording in max
  • Mixer with 7 channels: drum, synth, sampler, granular, fx, audio recorder, and main
  • Each channel has it’s own volume and pan controls, and sends to the four effects (excluding the effects, audio recorder and main channels)
  • It’s sadly not possible to save patch settings (exept for the drum sequencer)
  • Different screens is selected with tab-buttons on the left side
  • Signals are sent via Open Sound Control to Max

The program is made primaraly for use with a touch-screen monitor, but it’s of course possible to use a regular mouse. No support for multitouch.

Here’s a little example I made, please be aware of loud noisy sounds:

The file is about 20 minutes and 30MB so it might take some time to load it completely.
It’s improvised, and besides converting to MP3, I’ve done nothing with it after recording.
Here I use the sampler, loaded with single shot drum sounds. They are played back at different speeds and the sound is sent to the granulator and the other effects.

It’s also possible to make some less experimental music with the application. I will post more examples later..

The sound computing language Max/MSP is a type of visual programming language. This means that instead of writing code, you use some sort of graphic representation of the language’s functions to create your program. Subtext is another graphic programming language. It uses blocks as prototypes for the structure of the program you create. The visual side of Subtext makes it easier for the programmer to see what’s going on. In this video, Jonathan Edwards shows some of the logic behind the language:

Vodpod videos no longer available.

I want to show you some of the cool things that can be done with OpenFrameworks. I start by showing the projects of someone who calles themselves Playmodes. They have made an audiovisual sampler, using Native Instruments Reaktor for the sounds (controlling it via OSC) and OF for recording, manipulating and playback of video. It looks like this:

Here’s another example:

Visit their website for more info: http://www.playmodes.com/

Today version 0.06 of OpenFrameworks was released. There has been a lot of changes including the most important:

  • new library Poco ( http://pocoproject.org) included – used for events
  • event system for base events (setup, update, draw, mouse, keyboard) and constructing new events
  • the addons.h system has been dropped in place of direct inclusion of addons .h files
  • the window toolkit has been abstracted – now other windowing toolkits besides glut can be used with OF (iphone, glfw, non-windowed/command line)
  • all graphics have been opengl-es-ified, allowing for iphone support
  • all objects now have virtual destructors
  • all objects that draw can return their internal texture
  • base types for OF object (ofBaseDraws, ofBaseHasPixels) has been added -> better OOP programming with OF
  • new advanced user functionality, like choosing the ARB extension usage, disabling setupScreen, binding of textures, etc.
  • lots of bug fixes and small functions (ofClamp, push and pop styles) that should make programming in OF easier

The new version is compatible with the projects from version 0.05, but you have to copy the source code of your old project into an existing 006 project folder. Moving an 005 project folder to OF 006 will not work.

For us Windows / Visual Studio users it seems that we have to upgrade to VS2008 as the library is only compatible with that. Or move to Codeblocks..

Download the current version: http://www.openframeworks.cc/download

There is even a possibility to download OF for the Iphone SDK!

Please note that there are two main versions of the library, the standard, and the FAT-version. The difference is that the FAT-version has all the addon-libraries (like OSC, XML, network, opencv, vector math etx)

OF documentation here (not updated since v0.03)

The OF Wiki page: http://wiki.openframeworks.cc/

Now go and make some digital art!!

The OpenGL Redbook can be found online here:
http://www.glprogramming.com/red/