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

29 Responses to “Live->QC->MadMapper tutorial”

    • Technomorph Says:

      Awesome but I notice quite a latency.
      And will be great when will be able to patch mididata to other elements in mad mapper.

  1. wow, you are an artist, for sure!

  2. Great stuff! this is the same principle as how vitalic controls lights and visuals on your V-mirror setup?

    • Francois Wunschel Says:

      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)

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

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

  5. Francois Wunschel Says:

    are you sure that the qc file is running at 60 fps in MadMapper ? Are you under 10.8 ?

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

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

  8. Francois Wunschel Says:

    can you try with my file:

  9. Francois Wunschel Says:

    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.

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

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

    • Francois Wunschel Says:

      you need to type in the correct name of the syphon surface in the QC client plugin, or on the server side.

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

  13. hi this is such great work, that DL link is dead any chance of a re-up? Where are you based btw

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

  15. Guillaume Says:

    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!

  16. Guillaume Says:

    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!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: