Archive for the ‘interface design’ Category

Check out this video with Dr. Robert Schneider and Elijah Wood presenting a new kind of synth controller:

By the way, the new Apples in Stereo record is here

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..

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!!

dgptouch

Bill Buxton of Microsoft research has made an overview of what has happened in multi-touch research. For those of you who thought multi-touch first came with Jeff Han or the Iphone, have a look at this page. The picture on top here is from the Multi-Touch Tablet developed at Toronto University in 1985.

By the way, what is Jeff Han up to now? This video shows him demonstrating a new type of bidirectional LEDs capable of sensing your fingers. Check it out:

Vodpod videos no longer available.

More about this project here.

I’m currently working hard on my master degree project. I’m making a controller / sequencer interface program for touch screen (sadly no multi-touch yet). The program will have various functions, among them the drum sequencer that you can see in this picture:

drum_sequencer1

(never mind the colors, they are a little bit ugly)

When the sequencer is running, the signal settings of each drumstep is sent via Open Sound Control to the sound engine that will be a dsp program written in Max/MSP. In other words; my program will only function as a control sequencer with no internal audio. I’m hoping to be finished by the end of march, but there is still some work left I’m afraid..

Multitouch assembly kit

Now you can buy a DIY multitouch kit!
You will also need a projector and a modified web cam.
More about the project: http://eyebeam.org/project/cubit

More DIY multitouch:
Lumenlab
NUI Group – makers of the Touchlib library (NUI = natural User Interface)