Fully Automatable Vibrato

Sadly not much going on here with real Renoise tips & tricks. :( So, let’s toss another one in.

The following works best for mono samples (By splitting the stereo channels of the track you can do the same for stereo samples).

Drop a chorus into your track and give it these settings:

feedback: 0
delay: 0
dry/wet: 100%
phase: 0
filter: LP Single
cutoff: 100%

That’s it. Use “rate”-param to adjust your vibrato speed, “depth” for vibrato depth and finally call your internal “hello”-function to give your new “Vibrato”-device a warm welcome. ;)

Cheers,
-BA

Edit: Have to correct myself: Works for both, mono AND stereo… without any splitting. :)

Hm, I knew the chorus could simulate vibrato pretty well, after all there are few presets for it even, but I never knew it’d work that well as a vibrato effect. Then again I never even tried that but it’s nice to know this. Thanks for the tip.

ha, nice! will try it, thanks! (maybe should be a preset btw?)

Yep, this is a great technique to use, but you can occasionally get some noticeable artifacts when automating the depth parameter too rapidly. Otherwise, it works very nicely :)

Thanks! I will write it in my Notebook, with my other renoise tricks.

Ohhh dear, you have done it again, that’s quite an awesome trick :yeah:

What about substituting the current 0Fxy effect command routine with this, then we’ll vibrato on VSTi’s as well!?

ps. It takes less CPU power and is easier than the MIDI-control + LFO combo.

Yap, I second that. Should be added to presets as “Dry Vibrato” or somethinglike that, because it really makes things easier. :)

Hell yes. Big part of why I sometimes shy away from VSTs is the lack of vibrato. I will definitely be using this from now on.

What about pitch bends/slides?

Pitch bend would be possible if the chorus’s rate could be set to 0hz, and the phase of the modulation could be controlled, I don’t think such “hack” can be performed at the moment.

i’ve seen people post about a dedicated “pitch” device before. i agree with that: it would be nice if there was a very straight forward and easy to use device which only controlled the pitch like what you said above (and vibrato with a lfo).

would quite elegant if, independent of if one uses renoise instruments or vsts, the pitch manipulation would stay the same. (yes, in the case of native renoise instruments it would require more computing power i guess)

Downwards pitch bend would be possible to a somewhat limited extent. To lower the pitch of a stream of audio in real-time (ie. the output from a VST, or even your entire master track), the audio must be recorded into a buffer first and then simultaneously played back at a slower rate, therefore the buffer must be at least big enough to cover the longest possible pitch bend duration you may ever decide to perform. This is impractical due to memory constraints, not to mention the fact that we can’t see into the future, so we can’t predict when the user will stop pitch bending without first analysing events in order to buffer the correct amount of audio. For this to be feasible at all, the pitch bend duration would have to be limited to some maximum value, similar to how the Delay device has a maximum possible delay size.

True upwards pitch bending in real-time is impossible, thanks to those pesky laws of physics. Since we already established that a buffer is required in order to achieve these kind of pitch-altering effects, we now run into the limitation that you cannot simultaneously play the audio buffer at a faster rate (ie. higher pitch) than it is actually being recorded, therefore we need to introduce latency and record some amount of audio to the buffer before any upwards pitch bending can occur. We also have the problem that the faster-moving buffer read point will eventually catch up to the slower-moving buffer write point, so not only does there need to be latency, but there needs to be enough latency to cover at least the maximum possible duration the user might ever need. We have similar problems as before, where events must be analysed before they actually occur, and thanks to the latency required the effect does not work correctly in true real-time.

The reason this vibrato trick works quite nicely is due to the relatively small amount of latency being introduced (depending on the Depth parameter), and the fact that it constantly slows down and then speeds up again to create the seamless pitch bending effect. The upwards pitching problem is ‘solved’ because some audio is actually being recorded first (into a circular buffer that is constantly refilled in sync with the up/down pitching), but the amount of delay involved is small enough to not really be noticeable.

Bottom line: pitch bending a stream of audio in real-time is impractical, a complete pain in the ass, and in certain cases impossible. If you want to apply pitch bend to a VST synth, then use a MIDI-Control Device and do it the correct way. If you want to apply vibrato, then simply modulate the pitch bend controller at a faster rate than normal, perhaps with an LFO device.

Yeah that’s acutally very true, I didn’t think too much ahead :)

ye, not as easy as just playing around with the “playback speed”. good post there.

i guess it would have to be something like this: http://www.guitarpitchshifter.com/pitchshifting.html which indeed looks quite demanding both in terms of processing and implementation. maybe best to just leave this to third party apps.

That gave me a headache. But I got it.