New Tool (3.0): Randomize Notes

Randomize Notes

Available here:


1 Like

What an amazing idea. ;)

I would also like to add if you’d have the option to choose prefered transpose shift, up or down. E.g a C# would become a D if the prefered shift is up, and become a C if it’s down. A few more scales would be cool too.


awesome, will try it out later! +ed for great justice!

Implemented the idea as “Nearest Neighbour”.

Can someone test the beta, attached?

Well, give me more scales? Code wise, it looks like this:

-- Helper structure  
Random.modes = {  
 { name = 'Chaos', notes = {'C-','C#','D-','D#','E-','F-','F#','G-','G#','A-','A#','B-'} },  
 { name = 'Harmonic Minor', notes = {'C-','D-','D#','F-','G-','G#'} },  
 { name = 'Locrian', notes = {'C-','C#','D#','F-','F#','G#','A#','C-'} },  
 { name = 'Lydian', notes = {'C-','D-','E-','F#','G-','A-','B-'} },  
 { name = 'Melodic minor', notes = { 'C-', 'D-', 'D#', 'F-', 'G-', 'A-', 'B-' } },  
 { name = 'Pentatonic Blues', notes = {'C-','D#','F-','F#','G-'} },  
 { name = 'Pentatonic Major', notes = {'C-','D-','F-','G-','A-'} },  
 { name = 'Pentatonic Minor', notes = {'C-','D#','F-','G-','A#'} },  
 { name = 'Pentatonic Neutral', notes = {'C-','D-','F-','G-','A#'} },  

Make me some new scales and I’ll add them,

Seems to work here :)

New beta version.

  • Added “Random” mode to “Nearest Neighbour”
  • Fixed some GUI glitches.

It would be nice if somone contributed some more scales before I releases this on the tools page.

Fukit, version 0.3 has been published to the Tools page. More scales to come at a later date, patches welcome.

heres a link to a webbased program where you can see ALOT of scales

for some reason i cant post images here at my place right now?

Great tool! One suggestion: Selection of octave range.

I would prefer having them handed to me in the Lua format posted above, instead of researching and getting them wrong.


Nearest Neighbour bugfix.

There was a problem with the way notes were being “rotated” from the bottom of the scale to the top.

v0.4 beta
Added support for a range of octaves.
Please test the attachment and give feedback before I post this to the tools micro site.

ok, i’m probably stupid or summat but nothing happens when i press “randomize”

put in a bunch of notes and then put rn in record mode and tried most “where-options” but nothing happens… what am i missing here? oO

Some tips:

Make sure “Where” is accurate. Example:

  • If “Selected”, do you have some notes selected in the pattern editor?
  • If “Track in pattern”, is the cursor in the correct track?

Nearest Neighbour mode:
* Will not touch notes already in the scale (changed in v0.4)

  • Uncheck it, or choose “Chaos” or “Shuffle”

Preserve Octaves:

  • Does what it says
  • If you have “Nearest neighbour” and “Preserve Octave” turned on, and all the notes are valid in the scale, nothing will happen. (changed in v0.4)

Does this help?

just wondered is this the right "code"for the scales?

– Helper structure
Random.modes = {
{ name = ‘Algerian’, notes = {‘C’,‘D’,‘Eb’,‘F’,‘F#’,‘G’,‘Ab’,‘B’} },

This is the Algerian scale from the link i posted earlier

if this is right i can write them for you

EDIT:dont think this is right,i tried adding them to the randomizer.lua and i get a error


thanks conner! i’ll try it out later on.

it is probs that i had just c-notes in the pattern.

No that won’t work.

Here is a list of all the note prefeixes Renoise supports.


If you make a new scale, you have to pick from the above. No other choices. Don’t forget to add the - at the end.

My music theory sucks, I have no idea what Eb is…

ok i will try again,maybe there was some note prefixes in some of those i added,that renoise doesent support.

will write here later

EDIT:ok got it working now,i had forgot to put the - at the end.
and some of the scales have prefixes that renoise doesent support

i will make a list of the scales that work,will do that when i have added them in the randomizer,so i can see which ones work out,and which i have to edit.

it will take some time though,because theres alot of scales in the link i posted earlier

Eb = D# and Ab = G#. It’s just a different orientation of the note reading.

ok, got it working now! (=

imo, if you are going to use scales then it would be good to have a basenote from which the tool gets which pitches should be used. after all, a scale is just a base note and set of semitone jumps to determine which notes should apply. otherwise it should say “harmonic minor in c” for example, which would be less confusing.

edit: one can of course transpose the randomized notes afterwards to get all the other 11 versions of the scale so it’s no biggie really.