Jump to content

Long, gradual automations aren't smooth?


grrdjf

Recommended Posts

Step 1: Put the test oscillator on a track.

Step 2: Create only two automation points quite far apart from one another in time (like, a minute or two), one at the lowest allowed value (20Hz) and one at the highest (20kHz). If you like, use the automation curve tool to make a nice pretty sigmoid curve (see screenshot).

Step 3: Listen. The line on screen looks smooth, but it doesn't sound smooth. The sound jumps in jagged steps rather than transitioning smoothly.

 

These jagged transitions happen whether I use the automation curve tool or just a straight line. This also happens, for example, if I use a MIDI Modulator LFO on a slow setting. Or if I use a step sequencer automation row, set its step rate to something slow like half or whole notes, turn on only the step at the beginning of a pattern region and turn on the step at the other end, then set the row to "slide."

 

No matter what I try, I can't get a smooth automation; I can always hear the steps.

 

Sad trombone (or, more precisely: lack thereof).

 

I'm using the test oscillator as an example, but this seems to happen with just about any automation I try (a filter cutoff, release time, etc etc). Are long, smooth automations possible some other way? Must they always be rough? Is there something obvious I'm missing?

 

ETA: adding a project with 3 alternatives as illustration; you can clearly hear the "steps" in all 3:

- First alternative uses the drawn automation.

- Second alternative uses the MIDI modulator approach.

- Third alternative uses the step sequencer "slide" approach.

1065718901_ScreenShot2021-09-20at7_55_06PM.thumb.png.95f56572438785f208fa12ae536cd5d8.png

long automation.logicx.tar.gz

Link to comment
Share on other sites

I was initially put off by this behaviour because, for example, the test oscillator plugin has a very precise 0.01Hz scale, and its own "sine sweep" mode sounds totally smooth. But on further consideration, if I understand correctly, the automation system would be implemented with MIDI CC data. So there are 128 "vertical" divisions of any parameter, no matter what the range of the plugin being automated is, and no matter how precisely the plugin's internal values can be set. As disappointing as this might be for the long transition I was hoping to automate, it at least explains the behaviour and why, as long as the automation system uses MIDI CC data, "it is what it is". So it seems unlikely there's a setting somewhere I've simply missed.

 

I imagine there'd be some horrendously complex math-y way to implement some kind of lag generator in the Scripter plugin. Or maybe I can look at 3rd party "control voltage" based options--but in the end, they will probably be generating MIDI CC data too.

 

Ultimately, I guess the takeaway message is "the automation system is for recording and playing back musical actions taken by a human," which it arguably does fairly well (pace the other forum posts around here and elsewhere picking apart its inaccuracies). Actions which no human could reasonably perform (like long, seamless changes over the course of minutes) are, arguably, not what the automation system is for.

 

This is an interesting limitation to run up against.

Link to comment
Share on other sites

Depending on the parameter, it may be 8bit (128 steps), 10bit (1024 steps) or 14bit (16384steps), but it will always be steps, no matter how small. By increasing the range and/or the time you are essentially using a magnifying glass and eventually you will see/hear the steps.

 

Theoretically, some flattening of the steps could be implemented, but unless it's a common problem, why put in the resources to write and maintain the code, and possibly even change the parameter's time response for the worse ?

 

Scripter is of no use here, as you said, because it cannot increase the MIDI resolution.

Link to comment
Share on other sites

A follow up, having done some experiments (for any future readers of this post):

 

Long story short, as long as I keep the modulation/movement within a plugin (e.g.: instead of the test oscillator and a MIDI modulator, use an LFO modulating a VA source inside Alchemy), everything is smooth as butter. No aliasing.

 

The same is true playing with 3rd party plugins: Reaktor sounds smooth as long as I keep the "CV" inside the Reaktor plugin. As soon as I try to send, say, an LFO out via MIDI, to control the test oscillator or an ES1 filter cutoff, the choppiness returns.

 

Lesson: if I want long smooth automation, keep it inside a plugin. Not everything has to be modular.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...