Here is a Renoise 2.7 .XRNS file that demonstrates some other tuned native devices:
7629 dblue-tuned-devices.xrns
The following devices are included:
Flanger, Ringmod, Filter, Lofi, Comb Filter, Chorus, Phaser
What I mean by ‘tuned’ is that their frequency or delay times have been programmed to respond to the notes you play, by connecting a Key-Tracking Device to a carefully created custom LFO Device which in turn controls the tuning.
In my example I’m using noise (either a quick burst or a looped sample) as the input, but you can of course use almost any sound you want. It’s pretty fun to use breakbeats and stuff like that!
You use the LFO like a lookup table. Did you manually edit it that way or did you use some tool? Cause I found it hard to set a particular key to a particular value by just dragging the LFO points.
Doing all that stuff by hand is certainly possible using the automation editor as temporary workspace, but it is incredibly tedious and fiddly, so I just wrote a script instead which generates the LFO envelope points for me. Unfortunately, it’s not yet possible to directly read/write the LFO envelope points via scripting, so I had to hack my way around this a little bit.
My script first loads a Scala tuning file and generates a table of tuning frequencies to use. A new temporary track is a created and the desired device is added to that track. The script then goes through the table of generated frequencies one by one and sets the device parameter to the correct frequency (or delay time) via parameter.value_string, then it uses parameter:record_value() to record that parameter value to an automation envelope. The automation recording step is necessary in order to correctly convert the value from its scaled range down to the [0.0, 1.0] range that is needed for the LFO envelope. Once the table of point values has been generated, I output that data to an XML file whose contents can finally be copy/pasted by hand from a text editor back into the LFO envelope.
The whole process would be a lot easier if we could simply write directly to the LFO envelope via scripting, and I could even write a really nice instrument generator tool which creates the entire DSP chain for you, but for now this is the best workaround that I came up with.
I will probably post my LUA code to the forum when I’ve had a chance to clean it up a bit.
We already have access to pretty much everything as long as it uses the standard parameter types. Almost the entire process can be automated right now (and is in my script), so it’s really just the LFO device that is a bit weird because we cannot yet access the custom LFO envelope within it.
Hehe. Please don’t let this nerdy Renoise shit get in the way of your education. As Mr. T says: Don’t be a fool, stay in school!
I was just experimenting with techniques like this (controlling eq with high q for boosting fundamentals), but made the keytracking linear (no LFO envelope) which isn’t correct for equal temperament, I guess?
Hmmm, i’m trying to do this now, but i can’t figure out how to get an envelope from the automation editor to the LFO.
Copy->paste doesn’t seem to work, is there some other way to do it?
When copying points from the automation editor to the LFO envelope in Renoise 2.7, the first thing to keep in mind is that automation envelopes have a much higher resolution. So you just need to make sure that you’re fully zoomed into the automation editor (zoom level 1/256) before creating your points. Then you should be able to copy the envelope points into the LFO no problem. Just make sure you manually select the points and copy them that way.