Once can never have enough of these… I have nothing but praises for OSX’s built-in Time Machine, but as I’m not carrying my USB drive when traveling, I needed some kind of automated, internet-based solution… I finally ended up using a modified version of this script, it works really well… I feel safer now
Of course, I guess I should just invest in a GitHub account…
It seems my previous post (the envelope modulation time mini-tutorial) gave away one of the features I have been working on for Rhino 2.06: quick ADSR editing of Rhino envelopes. Did you notice the new A, D, S, R parameters at the top of the envelope window ?
Rhino 2.06 will add 4 new, assignable A, D, S, R controls. They globally control the attack, decay, sustain and release of all envelopes. Each envelope has its own “amount” control, defining how much these global ADSR controls impact the envelope times.
The A, D, S, R controls can be assigned to any one of the user sliders, or to an external controller.
After playing around with Rhino spectral editing functions yesterday, I wanted to add editing features to directly interact with the actual waveform. Because all of the internal computations are done in the frequency domain, modified waveforms are FFT-analyzed behind the scenes, and then resynthesized using the additive engine – renormalizing and removing any DC offset in the process.
The first part of the movie shows how to use spectral editing functions to generate a clean square wave, and the second part shows direct manipulation of the waveform. Horizontal drag resamples the left and right parts of the waveform to transform the square wave into a pulse of variable width. Vertical drag “pushes” the waveform around to generate interesting shapes. Now I must look for a way to add things like clipping, bit quantizing or sync retrigger…
I have been playing around with the additive editor lately, trying to reorganize the spectral edition features, and add more useful ones. Here is a short example, using the “interpolate” option to generate constant harmonics over the full spectrum…
… resulting in an approximation (because we only use 64 harmonics) of an infinite spike at the origin…
… then apply the “divide by harmonic number” transformation:
… and the resulting waveform is a saw wave ! Just refer to Dr. Fourier if you want to know why !
The only annoying thing is the oscillations around the edges. This is known as the Gibbs phenomenon, and it happens because we abruptly stop the harmonics series after 64. Fortunately, it can be reduced, by smoothing out the harmonics – this is exactly what the “anti-ripple” function does (applying a Hamming window over the spectrum)…
… leaving us with a beautiful, alias-free, pure saw wave to feed into Rhino’s filters !
It is also very easy to get a square wave from here, just use the “remove evens” function to get rid of the even harmonics:
So as they are, these spectral editing functions are already quite useful. One thing that could be added, though, is waveform editing functions for effects like PWM, quantization or rectification. Hmmm…. time to fire up xcode
"On our last EP, I used my venerable old ARP Omni II; Now we're doing a full length version, and I'm going to be using Cheese Machine! I played it head-to-head against the OMNI, and the other band-members couldn't tell 'em apart. Cool. I've been waitng for a plug-in like this one. Thanks." - Scot Solida (Christuas And The Cosmonaughts)