Ramp Tree proof of concept is working now! These stupid sine chirps are a beautiful sound this morning after days of work.

What's going on: an external phasor signal (period ramp going 0-1) is going into the Ramp Tree, and the Ramp Tree is dynamically subdividing the phasor signal by analyzing and resynthesizing a new version.

To use some musical terms, what comes in as a signal pulsing at quarter notes comes out shaped as a 3/4 rhythmic phrase (1 measure): 2 eighth notes, a quarter notes, followed by 3 eighth note triplets.

The next step is to use these ramps as alpha values for linear interpolation. Then it'll be a real gesture!

Here is a plot of the underlying ramptree signal. You can clearly see the ramp rhythmic groupings here.

Now with targets applied. Those abrupt line discontinuities scream "I'm off by one ya goof!"

Ah. much better.

Here's the gesture mapped to the frequency of sine wave.

I slowed down the external conductor signal, and it was gracious enough to expose some of the timing errors that would happen due to round off accumulation (was waiting for those).

I found the issue. The good news is it was a mistake I made and not the fundamental problem with error accumulation I was dreading. That one can wait for another day.

Here's the gesture with a metronome attached to it. Note how this gesture is moving in time with the beat of the metronome.

In theory, I should be able to slow down the tempo and the gesture would automatically stay synchronized to it without having any prior knowledge about the tempo changes.

I added "step" behavior to make gestures sound more like a traditional step sequencer. Also makes it easier to debug.

I also implemented monoramp transformation.

So, if a polyramp takes a single 0-1 ramp and divides it into N equal steps, a monoramp takes N ramps and merges it into 1 ramp. From there, a polyramp could be applied to it, creating arbitrary divisions of rhythm.

This gesture example features two eighth notes, followed by a set of quarter-note triplets.

The quarter note triplets were made by creating a monoramp from 2 beats, then converting that monoramp into a polyramp of 3 beats.

I let the last note have linear behavior so it could dynamically gliss back into itself.

· · Web · · ·

Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.