Live->QC->MadMapper tutorial
So you’ve always wanted to know how to video and sync to music in 2 clicks.
Here’s the tutorial !
What you’ll need:
– Ableton Live (free demo here)
– Quartz Composer (free, how to install here)
– MadMapper (free demo here)
This is the end result you gonna get when finished:
(scroll to the end of the tutorial for a video)
The idea behing this tutorial is to use Ableton Live as a sequencer to drive realtime Quartz Composer graphics, mapped using MadMapper.
For this tutorial, we’ll pass some information between different applications.
Since we’ll be using audio to automatically sync the mapping, we’ll use the MIDI protocol,
which is widespread and hopefully free with every Mac.
On the Mac, there’s a loopback allowing to share Midi data internally. It is called the IAC bus. And you’ll have to enable it.
Go to your /Applications/Utilities folder, and launch the “Audio Midi Setup.app”.
In the menu, select Window / Show Midi Window.
Then select and double click the IAC box and enable the bus (check “Device is Online)
as shown here:
Great, you just have an IAC loopback bus configured.
Now launch Ableton Live.
By default when creating a new Live project, you have 2 tracks, one Audio track and one Midi track:
We won’t need the audio track, so select it (click on its title) and get rid of it (press delete).
Rename the Midi track to “Midi to QC” – with this track we’ll send midi data to QuartzComposer.
Create an extra Midi track (CMD + SHIFT + T) and rename it to “Midi to Audio”.
This track will use the first midi track to get its data from and generate some sounds.
Let’s configure the Midi so that everything works.
Just to be sure, go to the Preferences (in the menu), then select Midi, then set your midi ports to enable IAC bus:
Now we have to set the correct midi inputs/outputs for the tracks.
In the track IO settings:
– set the “Midi to QC” track:
______MIDI from: NO Input
______MIDI to : IAC bus | Channel 1
– set the “Midi to Audio” track:
______MIDI from: “Midi to QC”
______Monitor: IN
Congratulations, the boring part is done.
Now the fun:
Create a new midi pattern in the ‘Midi to QC” track
(right click, insert midi clip), like that:
Select that box, and expand its content
(the black arrow at the very bottom right of the Live window).
Now we’ll make some notes to drive the visuals.
We’ll use 4 notes for this tutorial (but you can use more of course),
starting at C5 (then C#5, D5, D#5).
I’ve made a sample rhythm:
Drag an instrument (I’ve used a Bassline from the analog library) on the “Midi to Audio” track. This instrument will actually produce the sound of our project.
Here are the settings (shown when clicking the black arrow at the very right bottom of Live window):
Click the play buttom and you should have some sound magically coming from your speakers, since we dropped an instrument on the “Midi to Audio” track, namely a bassline. Note that you can put any other synth you want …
Wow, the Ableton Live part is over ! Keep the app open and playing.
Locate quartzComposer, make sure it runs in 32bit, by right-clicking the app, select “Show Info”, then select “Open in 32 bit”.
Then start Quartz Composer and make a blank project. This sounds over complicated, but apparently it was causing problems in 64bit (see comments).
Drop a Clear Patch (bule) and a MIDI Note Receiver Patch (purple).
QC defaults the middle note to C5, but Ableton Live is C3. So for both apps to be on the same page, we’ll have to configure the MIDI Notes Receiver patch to Middle C3, just like that:
Middle note is now C3 in QC, and we listen to the C5 note range.
The next step is to add 4 sprites whose brightness will respond to the velocity of the midi notes sent by Ableton. Zuper-easy.
Drag 4 sprites, position them in each corner of the QC viewer.
I made them sized 1 by 1 unit, positioned at
x:-0.5 y:-0.5
x: 0.5 y:-0.5
x:-0.5 y: 0.5
x: 0.5 y: 0.5
Then connect the notes receivers to the color pins of the sprites, like that:
Since QC is working with normalized floats (0.0->1.0), the Midi velocity (range 0->127) is automatically scaled to the sprite’s color (range 0->1).
If Ableton Live is still running and playing, the sprites should blink according to the rhythm you just made. Bravo, you’re now officially an Audio-Visual Performer.
Save your QC file and close QC.
Launch MadMapper (version 1.4 minimum), import your freshly saved QC file, and select it to activate it in the input view.
Modify the parameters like that (no need for a huge resolution):
Width = 512 pixels, Height = 512 pixels.
We’ll be working with squares – original isn’t it ? –
Now make 4 quad surfaces, each selecting a different portion of the input, like that:
Finally, you can work on your mapping and modify the perspective of each quad.
Since the QC content is white, we can use MadMapper to modulate the color of each quad.
Voila, it’s almost finished.
The principle is here, now hook up your projector and start mapping.
Here’s what we did at the office, on a 3d-printed object, using only these 4 notes, and some masks…
This is the neutral object:
The MadMapper setup:
And the video result, using exactly the same file we did in this tutorial:
March 22, 2013 at 06:27
Awesome!
March 23, 2013 at 05:03
Awesome but I notice quite a latency.
And will be great when will be able to patch mididata to other elements in mad mapper.
March 23, 2013 at 13:47
latency comes from the recording/compression/uploading
March 25, 2013 at 22:57
wow, you are an artist, for sure!
March 26, 2013 at 18:38
Great stuff! this is the same principle as how vitalic controls lights and visuals on your V-mirror setup?
March 29, 2013 at 11:45
yeah, more or less.
Vitalic uses 7 midi channels just for the video/lights, and they’re all full, so that’s about 800 parameters that work like macros (each triggering more parameters)
March 28, 2013 at 20:08
Excellent merci pour le tuto, tout marche à merveille pour moi sauf la fin une fois dans madmapper ahahahah …
Je vois bien l’animation dans le visualiseur quartz composer mais dans madmapper j’ai l’impression que mon fichier quartzcomposer n’est pas demarré j’ai juste un carré .. je decouvre la 1.4.2 j’ai peut être oublié un paramétrage dans madmapper, une idée ??
bonne continuation.
March 28, 2013 at 21:01
Ca fonctionne très bien avec syphon en tout les cas
March 29, 2013 at 23:50
Hi I working with MadMapper 1.4.2 and i can’t make the QC work synchronise with my MadMapper… i can synchronise Live 8 (8.2.6) with QC i work it perfectly… So i must update mi MadMapper or i do something wrong? sorry for my english
April 2, 2013 at 12:28
are you sure that the qc file is running at 60 fps in MadMapper ? Are you under 10.8 ?
April 2, 2013 at 18:50
Hello,
I have a quite similar problem, let me explain you
After doing the Ableton part and Quartz composer part everything works fine in the qtz viewer.
When I launch the qtz in Mad Mapper part I see only 3 first sprite working the other are white and are static (trust me I can send you a video) it’s mad isnt it ?
I test under
Mac OSX 10.7.5,Quartz comp. version 4.6 (148), Mad Mapper 1.4.2
also
Mac OSX 10.6.8,Quartz comp. version 4.0(103), Mad Mapper 1.4.2
Francois please answer me ! ! I need this fonctionality I can give you all detail that you need to fix this.
April 2, 2013 at 21:48
mmm.. very strange. I’m also running 10.6.8. Can you please send me the.qtz file ? thanks in advance.
April 3, 2013 at 08:15
http://dl.free.fr/qdz9pjXdZ
April 2, 2013 at 21:13
Hello,
ça fonctionne très bien jusqu’à “l’intégration” dans Madmapper (1.4.2): carré blanc sans animation, comme le décrivent aussi Cros et Juani. Qc file est pourtant à 60fps…. (je suis sous 10.6). Quelque chose d’oublié comme un paramètre à ajouter dans QC?
Merci pour ces petits tuto en tout cas.
April 2, 2013 at 21:49
hey phil, tu pourrais m’envoyer ton fichier qtz par nail stp ? merci
April 3, 2013 at 16:09
https://dl.dropbox.com/u/21628704/QC_MM.qtz
April 3, 2013 at 16:42
thx.
indeed, there’s a problem with your file.
would you mind contacting me by email info at 1024 architecture dot net
and we’ll solve the problem, once for all. thanks again
April 3, 2013 at 16:49
can you try with my file:
http://we.tl/dvfchXnmsO
April 4, 2013 at 16:47
to everybody with a problem: thanks to phil, it seems you have to make your QC file while in 32bit. So right click your Qc app, select “Laucnh as 32bit” , restart QC and make your file.
April 4, 2013 at 18:36
works great, many thanxs !!!!
April 24, 2013 at 05:50
well I resolved using simple client and syphon quartz composer plugin, all from syphon web site and using with QC open, so mad mapper can recognize QC trough syphon simple client
July 1, 2013 at 14:44
Awesome Franz!
as now we have a syphon input in M8; could tell me how we can get this from QC->M8->MM? (how can i get this into the “syphon server” in QC?)
thanx and hope to see you soon,
Omid
July 3, 2013 at 17:01
you need to type in the correct name of the syphon surface in the QC client plugin, or on the server side.
November 13, 2013 at 11:07
Thank you for this great insight in the combinations of Ableton ,QC and madmapper.
I do have one question though, In the final video I can’t quit work out how your workflow is at the end. What i mean is that in your video on each tone different parts are blinking. How is that done.
Looking forward to your reaction
Rem van der Zee
November 13, 2013 at 12:26
Oke I looked into it and I forgot to position the squares in Quartz composer! Cheers rem
November 15, 2013 at 17:36
hi this is such great work, that DL link is dead any chance of a re-up? Where are you based btw
January 26, 2014 at 05:37
I can’t get it to work at all.
Im using everything in the description and all i get is a white blinking square in the bottom left corner.
Do anyone know what exactly i am doing wrong?
March 19, 2014 at 00:24
Hi!
I just found this tuto and I’m really interested in it. I just got the same problem as you guys, last step on MadMapper doesn’t work for me, even I tried with the 32bits version of QC. Do you have any other solution? Thank you so much!
February 9, 2016 at 13:53
Hello!
I began using quartz composer and madmapper for a live performance. My question is, do you know if there is a way to not get these kind of “bugs” of the screen when the colors blink too fast?
Like if the screen could not refresh as fast as it should.
Thanks a lot for your tutorials!