December 15, 2008

How to Control Animata With OSC from Max/MSP and Pure Data

NOTE! I am moving my website over to The commenting has been disabled on this site. You can find this same article with commenting and everything by clicking this link:

If you haven’t heard of Animata yet, you should head over to and educate yourself. Download the software and go through the tutorials. I also recommend reading through the mailing list, it has tons of useful information.

Controlling Animata with a mouse and doing real-time animations is pretty cool by itself, but Animata really shows its true potential when you control it with OSC. Then you can start doing something like this:

There is a Processing example available from the Animata site that controls Animata with sound input.


Unfortunately, the Kitchen Budapest guys are busy improving the software and there isn’t really good documentation available about the OSC messages needed to control Animata. I’ll try to go through all of the available messages and give you some examples in Pure Data and Max/MSP

I assume that you know something about OSC, Pure Data and Max/MSP, because I don’t want to write a huge post explaining everything from the beginning. I’m also assuming that you have spent some time learning the basics of Animata.

One more important thing. I’m using revision 35 of Animata compiled from the svn repository. NOTE! YOU WILL NEED TO COMPILE ANIMATA FROM THE SOURCE CODE TO MAKE THE /LAYERPOS MESSAGES WORK. IT IS NOT AVAILABLE IN THE BINARY VERSION ON THE ANIMATA WEBSITE. All the other messages I’m showing here do work with Animata 003 that is available from the site. OK, let’s start.

DOWNLOAD MY EXAMPLES. Contains the Animata Scene + Max and PD patches.


All incoming messages to Animata must be sent through port 7110. The “name” in the message refers to the name of the joint, bone or layer.

Moving a joint, x and y are float values:

/joint name x y

Control the length of a bone, value is a float between 0 and 1:

/anibone name value

Switch on and off a layer, on_off is 0 or 1:

/layervis name on_off

Set the transparency of the layer, value is a float between 0 and 1:

/layeralpha name value

The next two messages require the svn version:

Moving a layer in absolute mode, x and y are the position coordinates as float values:

/layerpos name x y

Moving a layer in relative mode, x and y is the amount of pixels you want the layer to move from it’s current position:

/layerdeltapos name x y


I’m not really comfortable with Pure Data, but I was able to get all of the messages working except /layervis. I believe this is because Animata is very picky and is looking for real boolean values and Pure Data is sending integers when sending 0 or 1. This was just fixed by the Kitchen Budabest guys. The /layervis message works now. I have updated the code so please download the .zip again. You need to compile Animata again from the svn for this to work.

Pure Data to Animata

Pure Data to Animata with OSC from Matti Niinimäki on Vimeo.

There is a little problem, because Animata needs float values in the messages and Pure Data doesn’t have a separate number box for floats, so have to make sure the number you are sending is never an even number. I did this by multiplying the values by 0.999. If someone knows a better way, let me know.


It’s pretty much the same deal with Max/MSP. The /layervis doesn’t work here either. This was fixed in the svn version (>36). My Max-patch has been updated so please download again.

Max to Animata

Max/MSP to Animata With OSC from Matti Niinimäki on Vimeo.

I didn’t add the /layerdeltapos to the example patches, because it’s really easy to lose your layers somewhere outside the window.


There is also an option to send OSC messages from Animata. For this you need the SVN version. It simply works by clicking on the small OSC tick box on the Skeleton tab. The messages are sent through port 7111. The message format is: /joint name x y

Send OSC


I’ve made a plugin for Quartz Composer that makes it really easy to control Animata from Quartz Composer. Check it out over here.


Basically, any software or programming environment that is able to send OSC messages should be able to communicate with Animata.

Processing works perfectly and you can download the Sound Input example from the Animata website that will get you started. I’ll see if I can find the time to do a similar sample file for Processing also.

I’ve also had luck testing OpenFrameworks. Download the FAT version of OpenFrameworks and modify the oscSenderExample.


Whatever you want! Hook up audio input, MIDI controllers, sensors or computer vision to control real-time animations.

Check out my Mickey Mann project for an example on how to control Animata with an Arduino.

Here is the source code download link one more time.

Tags: , , , ,
Filed under: Animation,Programming,Tutorial,Video — Posted by: Månsteri @ 3:46

December 13, 2008

University of Lapland @ Vimeo

I set up a group on Vimeo for the students and faculty of University of Lapland on Vimeo.

Here is a widget containing all of the videos that are added to the group:

You can embed this player to any website with this code. Just copy & paste. Modify the code if you need to adjust the size.

Tags: , , ,
Filed under: Video — Posted by: Månsteri @ 20:04


Not many people know this, but Concordia University in Montréal also has a toon department deep inside the maze that is known as the EV building. The university officials would prefer to keep this knowledge as a secret, since the brutal self torture that goes on inside the faculty would shock many people. In the same way that the Average Joe or Jane does not want to know where the meat inside his/her burger comes from, no-one really wants to know the shocking truth about the stories behind your Saturday morning dose of laughter.

Tooniversity from Matti Niinimäki on Vimeo.

When watching cartoons, people rarely think about the amount of time and dedication the cartoon characters spend on perfecting their sketches and routines. Unfortunately, consumers love to see toons getting hurt. There is just something special about dropping heavy anvils on the heads of unsuspecting cartoon characters that appeals to the majority of viewers.

Like in all fields of entertainment, the competition in the cartoon business is also very harsh. You are only as good as your last fall from a huge cliff. That’s why all the aspiring cartoon students at tooniversities across the world practice new and inventive ways of getting themselves hurt.

A group of activists from PETT (People for the Ethical Treatment of Toons) have been able to sneak a spy camera inside the Tooniversity facilities at Concordia University. Because of their brave action, all the dirty secrets inside the Tooniversity will be exposed. Please go to
to find more information and sign a petition to stop this madness.

This project was made at Concordia University for Vincent Leclerc’s Tangible Media and Physical Computing class. You can find technical details from my class website

Tags: , , , , , ,
Filed under: Electronics,Programming,Video — Posted by: Månsteri @ 1:16

December 4, 2008

Yöjuna Rovaniemelle

Another nice music video. This time from Finland and a little different from the one below. Ella ja Aleksi – Yöjuna Rovaniemelle. Video by Anima Boutique

Tags: ,
Filed under: Stuff That I Like — Posted by: Månsteri @ 4:33

December 3, 2008

Le Le – Breakfast (Parra)

Damn, how come I haven’t seen this earlier. Parra’s band Le Le with the track Breakfast. I’ve always thought that Parra is doing the best illustrations and typography on this side of the galaxy and now it’s in motion!

If you aren’t feeling the YouTube quality, check out the Quicktime at

Tags: , , , , ,
Filed under: Stuff That I Like — Posted by: Månsteri @ 23:35


I have always liked the voice of William S. Burroughs and I’ve always wanted to do something with the Origin and Theory of the Tape Cut-Ups clip.

Now I have. It’s still missing some parts of it as I had to meet a class deadline for this. I will have to finish this later.

If I haven’t uploaded a new version with the missing parts in a couple of months, feel free to send me angry emails with the subject: Get Your Lazy Ass Up and Finish That Animation!

Tags: , ,
Filed under: Animation,Video — Posted by: Månsteri @ 6:35

November 16, 2008

Arduino & Quartz Composer

Here is a quick solution on how to get the analog inputs from an Arduino into Quartz Composer. For now, this only supports the analog values. Reading the digital input pins is not hard to implement, but I still haven’t decided what is the best way to do that.

Sending serial data from QC to Arduino is a little bit trickier, but I will definitely try to work on that also.

What do you need for this to work?

Tags: , ,
Filed under: Electronics,Programming,Tutorial — Posted by: Månsteri @ 23:08

November 12, 2008

Six Frames

A video project I did a while ago. We were given roughly 1 hour of footage to remix into something new. This is what I came up with.

Six Frames from Matti Niinimäki on Vimeo.

Tags: , ,
Filed under: Video — Posted by: Månsteri @ 6:28

November 10, 2008

Mickey Mann

I’m really interested in stereoscopy, which you might have guessed, if you’ve ever seen me running around with my View-Master camera. In my opinion, View-Master is still a superior method for viewing stereoscopic images, but it’s only still images. That’s why I wanted to see if I could improve the design and make an interactive View-Master for animations.

This little hybrid between Mickey Mouse and Steve Mann enables you to control and view stereoscopic animations that are animated in real-time.

It’s an old View-Master viewer modified to have ChromaDepth lenses, some custom buttons, accelerometer, bluetooth radio and an Arduino to control it all. I thought about hiding the electronics with bigger ears, but decided not to, because I like the ghetto-cyborg look he’s got going on there.

So how does it work? You look through the viewer to the screen where you will see some 3-layer Månsteri-action in all of it’s stereoscopic glory. The great thing about ChromaDepth stereoscopy is that it works with basic colors. You don’t need two channels for the video to achieve a 3D-effect. On a dark background, everything that is blue will appear to be in the background and everything that is red will appear to be in the foreground. Colors in the spectrum between blue and red will appear to be somewhere in the middle. If you didn’t understand my explanation, look it up on the interwebs.

The accelerometer detects your motion and will move the character on the middle layer, giving the illusion that the character is trying to mimic your movement. You can control the content of the layers with the three buttons on the side of the viewer. Button three controls the background, button two the middle layer and button one controls the foreground. Check out the video and you’ll understand what I mean. If you have ChromaDepth glasses, put them on to see the 3d effect.

The Arduino sends the sensor data and the button states wirelessly via bluetooth to my computer. The information is parsed in Max/MSP, which in turn sends the data as OSC packets to Animata (my favourite software at the moment). Animata then animates everything in real-time and handles the hiding/revealing of different layers.

If you are interested, I have uploaded the Arduino and Max 5 source codes and also the Animata scene. It’s all very specific to my setup, but someone might find it useful. Download the source.

Tags: , , , , ,
Filed under: Electronics,Programming,Video — Posted by: Månsteri @ 3:31

October 15, 2008

No FireWire On New MacBooks, Only One FW800 on MBP

Nerd ranting warning.

What the hell is Apple doing? There are no FireWire ports on the new MacBooks! Essentially, that means that anyone doing any serious work in video or audio has no reason to buy a MacBook. Our university buys roughly 60 MacBooks per year for the students to buy at a cheap price, but now I don’t see any reason why our Audiovisual Media Culture program would buy any of these, since they are useless for video work.

And the new MacBook Pro only has one FW800 port. Again, making any musicians life a bitch since you will most likely need at least 2 FW ports, for an HD and an audio interface. Well, at least you can daisy chain FW devices. And another useless idea was introducing the DisplayPort. That means dropping the support for S-Video and composite adapters. So you’ll need more dongles to connect to different diplays or projectors. I would rather have a computer that is 2mm thicker than having to carry around five different dongles to display the image. Granted, it is smaller and cheaper to manufacture, but that should show up in the price or that would have allowed the space for another FW800 or USB port. Did I mention no E-SATA and no Blu-Ray?

I’m just hoping my current MBP will last through this generation and that Apple would change their course and actually start making laptops that are useful for audio and video professionals.

Tags: ,
Filed under: Randomness — Posted by: Månsteri @ 3:24