Posts Tagged ‘Quartz Composer’

Animoitu Liike Pt. 2 – Testing With The Kinect and OSCeleton

Tuesday, February 8th, 2011

Some of you might have seen the Animoitu liike -workshop I did in collaboration with Päivi Hintsanen and Live Herring in Jyväskylä public library (September 2009) http://www.liveherring.org/animoitu_liike/

This week I’m going to do part 2 of the workshop in Jyväskylä in collaboration with Loiskis. The Kinect sensor has greatly improved the project as I no longer need to use IR markers.

Here is a small demo. Running with a customized build of OSCeleton, Quartz Composer and Animata.

For demonstration purposes, I’m changing the character and the background by clapping my hands.

The drawings were made by students from the Keski-Palokka elementary school.

Mnstri OSC Tools 1.0

Saturday, January 22nd, 2011

I decided to combine my two Quartz Composer plugins (Animata OSC and Månsteri OSC Sender) into one.

At the same time I fixed a major issue that had been there since I made the plugins. I’m using the VVOSC and VVBasics frameworks from http://code.google.com/p/vvopensource/ and I finally changed the class names to get rid of some errors when using the plugin with other software that uses the same frameworks.

Download from the Software page.

IMPORTANT!

Please remove all of my previous OSC plugins (AnimataOSC and MonsteriOSCSender) before installing this new plugin.

OSCeleton With Quartz Composer

Tuesday, January 11th, 2011

Trying out the very awesome OSCeleton http://github.com/Sensebloom/OSCeleton with Quartz Composer.

What is OSCeleton?
“As the title says, it’s just a small program takes Kinect skeleton data from the OpenNI framework and spits out the coordinates of the skeleton’s joints via OSC messages. These can can then be used on your language / framework of choice.”

It works straight out of the box with Animata and many other software, but the OSC formatting is not compatible with Quartz Composer. So I made a little Max/MSP patch that converts the messages to a format QC understands. I will try to write a tutorial about how to get the whole thing running pretty soon. But here is a quick rundown.

./osceleton-osx -p 8110 -mx 2 -my -2 -mz -1 -ox -1 -oy 0.75 -oz 1 -a 127.0.0.1

The options are to scale the values to something that makes sense in QC. You can play around with them. Check the OSCeleton readme for more information about the different options.

Let me know if the Max/MSP app or something else is not working properly.

Giants of the Hoods Recap

Monday, August 30th, 2010

Last weekend was pretty intense as we had three “performances” with the Giants of the Hoods crew here in Helsinki. Thursday in Kallio, Friday in Kontula and Saturday in Tapiola, Espoo. We had some issues, but in the end it all worked out quite well. Here’s a quick recap of the events.

Kallio 26/8/2010

Kallio - Image by Kirsi Tuura

Image by Kirsi Tuura

We couldn’t do a rehearsal on Wednesday so I was a bit worried about how everything would go down on the first night. Everything had worked fine the week before in Tapiola, so I was still quite comfortable… At least I was until Mr. Murphy once again proved that you should really take his law seriously.

Problem #1

No signal to the projector with a long VGA cable, so I had to move all my gear to a different location in the last minute and setup everything again. That left me no time to properly test the motion tracking and everything else.

Problem #2

All of the dozens of WiFi networks on this particular street corner disturbed our wireless network we had set for sending data and pictures. This increased the delay between the tracking and animation to several seconds instead of the normal tenths of a second.  It took me a while to figure out that this was the problem and of course no ethernet cables anywhere. Fortunately, Severi – our technical producer – somehow got a hold of a cable and we finally got the tracking working quite smoothly in the end.

We still had a problem with the communication between my computer and Markku’s laptop, so we couldn’t really update the character as it was planned. Somehow, we still managed to limp through the night and the last hour was actually quite enjoyable.

Emmi Vainio and Kalle Kuisma shot some documentation video.

Giants of the Hoods, Kallio 26/8/10 from Giants of the Hoods on Vimeo.

Kontula 27/8/2010

Kontula worked out a lot better technically as we had ironed out all the problems in Kallio. The mood was also quite different as we had a lot of children coming to dance and also because of the commitment of the people that took part in the workshop some weeks ago. It was also the “Night of the Arts” in Helsinki that day and I think it was nice that we did this in the suburbs of East Helsinki and not downtown where everything else happened.

Giants event in Kontula from Giants of the Hoods on Vimeo.

Tapiola 28/8/2010

Technically, Tapiola worked the best, but there weren’t that many people around. The cold and windy weather was against us, but we still had fun and it was nice to see some people who had been there the week before also when we did some testing.

No video yet, but i will add it here once it’s online.

Next

We are doing two more shows this week. On Wednesday, we are at the Aalto University Opening after-party in Otaniemi and on Saturday we have the event at the Lasipalatsi square. For more details: http://www.giantsofthehoods.com/

QC Plugins Update

Friday, March 12th, 2010

A quick fix for my OSC plugins. There was a stupid bug that affected changing the IP address. Should actually work now

Månsteri OSC Sender Plugin v. 1.3 changes:
- Fixed a bug in setting the IP Address. The IP should actually change now.

Animata OSC Plugin v. 1.3 changes:
- Fixed a bug in setting the IP Address. The IP should actually change now.

Download: http://mansteri.com/software/

Animata OSC Plugin v. 1.2

Sunday, March 7th, 2010

There is a new version of the Animata OSC plugin available. I’ve had the Z-axis support working for a long time, but I’ve just been too lazy to upload it here. Also added the option to change the IP address and port numbers. Useful when you need to send OSC from QC to a different computer running Animata. You really shouldn’t touch the port, but decided to throw in the option to change it just in case.

Download the plugin here.

Download the example seen on the video.

Version 1.2 Changes
- Added the Z Position port for the Layer patch. That means you can now move layers in Z-axis too. (requires the latest version of Animata 004)
- Added the option to configure the IP address and port number. (Please test this one)

I also updated the VDMX plugins to have the Z Position option.

Please test this and let me know if you run into any problems.

Månsteri QC Plugins Update

Friday, November 20th, 2009

I finally installed Snow Leopard this week on my MBP. I had some critical projects going on and couldn’t afford breaking anything.

So the first thing I had to do was to update my Quartz Composer Plugins to support Snow Leopard. There were some issues because QC 4.0 runs in 64bit and my plugins had only been compiled for 32bit. But now they should work. I still need to sort out a few issues (check your console for details), but everything seemed to be working fine when I did some tests. Let me know if you have any problems.

Download here: http://mansteri.com/software/

Månsteri OSC Sender Plugin for Quartz Composer

Wednesday, July 15th, 2009

I just finished an OSC plugin for Quartz Composer that allows the user to change the IP, port number and address space dynamically through the input ports.

The current version does not support sending QC Structures as multiple values, but I am looking into ways of implementing it. Please let me know, if you come up with a good solution.
Download the plugin and the soure code.

This plugin uses the VVOSC framework developed by mrRay.

Serato Video-SL + Quartz Composer

Monday, July 13th, 2009

I bought the Rane TTM 57SL mixer and Serato Video-SL a couple of weeks ago, because I wanted a good setup for AV mixing and scratching. I’ve had the Ms. Pinky vinyls for a long time. They are very nice, but the software just doesn’t cut it for my purposes.

Don’t get me wrong, I love my pink vinyls and the fact that I can do whatever I want with them using the Max/MSP patches. And the newest version of Maxi-Patch even has OSC output so it works very nicely together with VDMX. But I need something more advanced for the audio side and a rock solid system for doing AV.

I have to tell you, the 57 has now become my favourite mixer. The faders are perfect for turntablism, it feels very solid just like the 56 and the software integration works well. The only gripe I have with it, is that it uses some proprietary HID protocol to communicate with Serato Live. So I can’t use the hardware control with any other software. Hoping for a MIDI firmware update. Oh, and the other thing is that it’s only USB1.1. Haven’t had much problems with it, but I would feel more comfortable if it would be USB 2.0.

I have the M-Audio Torq and for DJ-stuff it would have been enough for me, but there was just no way to easily incorporate video for AV-sets. I was surprised how well the Serato Video-SL works. Just throw your video on the deck like you would do with an .mp3 file and you are good to go. Together with 57SL, it’s a system that “just works.” Very important for me since I’m always busy doing stuff on the turntables and want to keep my hands off the laptop as much as possible.

Now mixing videos with audio is cool by itself, but the biggest selling point for me was the Quartz Composer integration. This feature was just added in the latest Video-SL release so hopefully there will be improvements, but what they got going is pretty cool already.

You can load a .qtz file on a deck that is playing audio by dragging it on the corresponding video channel. Your basic QC files work just like that. The only special thing about it is that the patch time of your composition is being controlled by the the song position of the deck where you .qtz file is loaded. So if your composition has any some sort of animation on it (Interpolation, LFOs etc.) you can just start scratching and the animation will follow. If you don’t want this behavior (I usually don’t), just feed system time into any patch that depends on the patch time.

That’s fine for some basic stuff. But I want more control! Fortunately, Serato has included the ability to control .qtz files with all kinds of data from the Scratch Live software – needle velocity, song info etc. – and you also get some data from the hardware controls of the TTM 57SL mixer. However, this stuff is not really documented anywhere (except for a .pdf I found on the Video-SL Beta forum). So I’m gathering all the info that I know over here.

The way this works is the same way you always interact with Quartz Composer files in an external program. You publish inputs with certain names.

This image is from the .pdf I mentioned earlier. I don’t want to post it here since Serato hasn’t released it publicly and they might have a reason for that. You can find it on the forum if you are registered. http://serato.com/forum/discussion/141782 The .zip also includes a bunch of sample compositions that show how the communication works.

There are 27 parameters that you can use to drive your compositions. And the input name always starts with kSSV_SeratoData. Now I could list all of theme here, but it would just make this already too long post even longer. So I’m doing something better.

I created these clips for myself to be able to easily add the Serato input splitters to my compositions without trying to remember the syntax exactly. And since I’m such a nice guy, I’m sharing them with you.

Download the clips.

Once downloaded, copy the .qtz files to this location:
~/Library/Application Support/Apple/Developer Tools/Quartz Composer/Clips (where /~ is your Home Folder).

The next time you launch Quartz Composer, search for Serato in the Patch Creator and double-click the clip that you want to use.

Connect the output to whatever you want to control. Remember to also publish the input of the Serato clip you have chosen by right clicking and choosing Published Inputs and the input name. Make sure you don’t change the name.

I think I haven’t tested all of them, but I know that there is at least one problem. The Serato Needle Position is not working at all. I’ve reported this to Serato, but haven’t received an answer yet. This has been fixed in Scratch Live 1.9.1. which is in public beta. You can use the song position also if you need position data. The Needle Position is the position from the beginning of your control vinyl.

Here is an example that I made pretty much the first day I got Video-SL running. It was inspired by the Visual Scratch project. The Needle Velocity controls the Y position and the fader controls the visibility of the line. It’s not perfect, but fun to mess with anyway. Sorry about the crappy scratching. I’m a bit rusty, because I didn’t have turntables in Montreal so I couldn’t practice for 9 months.

Music by the Finnish dubstep-superheroes Demonic 1 & Dr. Coil. The song is called Bottomless Pit and it’s from their Treblescience EP.

Download the .qtz file.

If you’ve been reading this blog for the past few days, you might have guessed that I’m working on some Serato + Animata stuff. I should have a video to show later this week. Stay tuned.

QC + Animata: Mr. Cool

Monday, July 13th, 2009

In my previous post, I promised to do something more exciting with the QC and Animata communication. You can’t get much cooler than Mr. Cool!

This is a modified rig of the Mr. Cool character I used for my Product Placement animation. I used Max/MSP when I did the animation, but QC is just much more fun.

Mouth and body movement controlled by the sound. Arms have a small LFO on them and you can trigger some other movements with the arrow keys.

Download the example files. Requires the Animata OSC plugin for QC. You also need a recent build of Animata from the svn. Compile it yourself or download this one that I compiled. Should work on intel machines running Leopard.