New Audio-Reactive Thing

Inspired by the famous 3D waveform display of the 80’s Fairlight CMI sampler.
Requires Kineme Audio Tools and GL Tools plugins.

I must start using the Queue patch more! This one uses a Queue to create the movement of the waves. Each frame, coordinates for a new waveform line are created by a JavaScript patch, as a series of X, Y and Z points, with their Z-positions modulated by data from the Audio Tools Waveform output structure.

This array of points then goes into a Queue.

Each line is created by a single iteration of the Iterator patch, and each iteration picks a different item out of the Queue- so iteration 0 picks the data from the first Queue slot (ie the most recent), the second iteration gets data from the second slot, and so on.

The points data for each line is then fed into a Kineme GL Line Structure patch, which joins the points to form a line.

Then, it’s just a matter of spreading the lines out along the Y axis. This was done with a 3D Transformation patch inside the Iterator, to save having to mess around with JavaScript to change the Y-position of each point individually.

I stuck the whole thing inside another 3D Transformation patch, to rotate it and make the lines appear to recede into the distance. I also added an Interpolator patch, driven by Iterator Position and linked to the Alpha of each line, to make them fade out as they got further away, for a kind of fog effect.

Because the data in the Queue is continually being pushed along to the next slot by new incoming data, you get the effect of the waveform moving, as the waveform ‘jumps’ from one line to the next.

The only slight annoyance is that the speed of movement is entirely down to the frame-rate the QTZ is running at. I may investigate artificially slowing down the framerate (as psonice has mentioned doing with some of his demos) to make it more consistent. I could also sync the update rate to VDMX’s tempo, which would make it more jerky, but if it’s tempo-synced, you probably won’t notice.

‘tb Fairlight Waveform 1.01.qtz’ in the download widget.


11 Responses to “New Audio-Reactive Thing”

  1. December 9, 2008 at 4:33 pm

    I got a job, so I’ve not had time to play with Quartz for a long while, but I always wanted to do something like this and could never work it out! Well done. I’ll be tinkering with that as soon as I get some time!!

  2. 2 toneburst
    December 9, 2008 at 4:51 pm

    Hi Rob!

    Thanks for the encouragement!
    Hope you get a chance to do some more QC stuff soon.
    The secret with this one is in the Queue, and of course, the Kineme plugin (thanks once again cwright).

    Hope you’re enjoying the new job!


  3. 3 Mark Carroll
    December 25, 2008 at 6:00 pm

    Hey there,

    Great work. I love your qc stuff. You have so many great ideas there.

    I found your site from a comment that you made about boids on http://www.coderholic.com/javascript-boids/

    I am interested in starting work on some qc stuff that will take me in the direction of Flight404. I really think that you both have such talent 🙂 Now its time to get my hands wet again.

    Have a good one

    • 4 toneburst
      December 28, 2008 at 6:08 pm

      Hi Mark,

      thanks very much for the positive comments! I really wouldn’t put myself in the same category as Flight404 though. His stuff is definitely in another league, but I’m flattered by the comparison… 🙂

      I haven’t got around to trying the Boids stuff yet- family and Christmas stuff got in the way, and I have a couple of other projects I need to work on first, now, unfortunately. It’s still on my list though…

      You should definitely dive into QC. You can do some impressive-looking stuff impressively quickly, just with the application ‘out of the box’. Once you add in the great plugins out there, you can do even more.

      You should check out Kineme.net if you haven’t done so already. It’s not just for plugins; they have a nice little community of QC developers and enthusiasts too.


  4. January 2, 2009 at 10:41 pm

    I am using and applying some variation of parameters.
    Modul8 I would use it, but it does not work. Neither the option to export to QT. I see a video of just red.
    What is the problem?

    Thanks for your excellent patches me happy life!

  5. 6 toneburst
    January 3, 2009 at 7:53 pm

    Hi Juanjo.

    You’ll need to have the Kineme Audio Tools plugin installed to get this to work.

    Hope this helps,


  6. 7 Dropbear
    February 5, 2010 at 12:49 pm

    Hey there. New to all this QC stuff. Trying to get this audio reactive thing to work with VDMX but to no avail. I’ve installed the audiotools plugin (MAC HD/Library/graphics/Quartz Composer Plug-Ins/ but there’s still no visuals in VDMX.

  7. 8 toneburst
    February 5, 2010 at 2:38 pm

    Hi Dropbear,

    good to hear from you, and welcome to the Wonderful World of QC.
    You’ll need the Kineme GL Tools plugins too, to render the lines.

    Hope this helps.


  8. 9 Noob
    February 28, 2011 at 4:43 pm

    Hi, Toneburst, what a nice and resourceful site you have!

    I´m just new to QC and downloaded this example. I have both Kineme plugins installed, but when I open the composition, the lines are still. I imagine you may still have to select the audio device for the lines to start moving?

  9. 10 Noob
    February 28, 2011 at 4:51 pm

    I´m sorry, Toneburst, I just figured this beginner question out! I had to just pick soundflower as the input source. As I said, I´m just starting, so it´s a very big world to discover yet! Thanks for your examples, they will light my path on this journey 🙂

    • 11 toneburst
      March 1, 2011 at 9:51 am

      Glad you got it sorted. Getting audio playing on the same machine into QC can be tricky. I tend to use a combination of SoundFlower to get the sound into QC, and another free app called LineIn to get audio back out of the computer again.

      Anyway, good luck with your QC experiments, and glad you found my blog useful!


Leave a Reply

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

WordPress.com Logo

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

Google+ photo

You are commenting using your Google+ 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


December 2008
« Nov   Jan »


Blog Stats

  • 481,682 hits

%d bloggers like this: