
Ink Blot Paper - Max to QC Test
1 year ago
Here's a quick little upload - it ended up being a bit of a maths 'refresher' for me so I thought I'd share it and try to explain - just in case it might help someone...
I've been looking at controlling Quartz Composer with Max via OSC. The phasor~ object in Max is excellent at timekeeping so I want to run audio in max using this, and then use it to sync up my QC visualisation. In this patch the phasor~ is controlling the radial angle of the particle systems.
So, for those who can remember school maths lessons, you'll recall that the path of a circle can be described by;
x = a + r cos t
y = b + r sin t
where a and b are the coordinates of the origin, r is radius and t is the angle.
You use the rendering destination dimensions patch in QC to dynamically update the radius needed (use pythagoras!) - a and b become 0 as the particle system rotates around the centre of the window.
I use the phasor~ object to control the angle at which the particle system is rendered, which changes over time (in this case the period it takes to complete 4 beats of sound) by time.
The phasor outputs values from 0-1, so I've converted beats per minute to frequency. Frequency = 1/time so we send the inverse value to QC via OSC to sync the visualisation to the audio (which is mostly individual takes from my band;s last record repeatedly thrown through Soundhack and played backwards!)
I've been looking at controlling Quartz Composer with Max via OSC. The phasor~ object in Max is excellent at timekeeping so I want to run audio in max using this, and then use it to sync up my QC visualisation. In this patch the phasor~ is controlling the radial angle of the particle systems.
So, for those who can remember school maths lessons, you'll recall that the path of a circle can be described by;
x = a + r cos t
y = b + r sin t
where a and b are the coordinates of the origin, r is radius and t is the angle.
You use the rendering destination dimensions patch in QC to dynamically update the radius needed (use pythagoras!) - a and b become 0 as the particle system rotates around the centre of the window.
I use the phasor~ object to control the angle at which the particle system is rendered, which changes over time (in this case the period it takes to complete 4 beats of sound) by time.
The phasor outputs values from 0-1, so I've converted beats per minute to frequency. Frequency = 1/time so we send the inverse value to QC via OSC to sync the visualisation to the audio (which is mostly individual takes from my band;s last record repeatedly thrown through Soundhack and played backwards!)
-
Vimeo: About / Blog / Developers / Jobs / Community Guidelines / Community Forums / Help Center / Site Map / Merchandise
/ Get Vimeo

Previous Week