Aleatoric Sequence Generator For Renoise

I found some time today to implement Transcender’s idea. You can now paste some track data into the generator. Then hit “Analyze” and all the note and octave probabilities will be populated according to the distribution in the original pattern.

The position probabilities are set to directly match the note positions. That is, if there is a note (or a note-off, they are treated the same way) = 100%; if no = 0%. This way the rhythm of the melody is preserved. Of course, if you have no note-offs in the original track then it will preserve it best.

I added a “Nudge” button that will randomize things just a little bit - 10% above or below the current value. I think it’s a convenient way to make some little automatic changes.

I tested it a bit and it seems to work exactly as intended. Have fun with it! :)

First, i think this is a cool tool. Nice one.

I went back to check your modifications and the page did not work. A reload fixed the problem. It was a cache issue. I looked at the source code (I will be downloading this because it is a good lesson in jQuery) and noticed <rtg.js?1>, maybe you could have incremented to <rtg.js?2> to avoid the caching issue? Isn’t that why you put the ?1 there in the first place?

Also, could you make a stand alone archive for downloading? Like, zip up all the stuff and add a download link at the bottom? I know you said you can download the page with a decent browser, but it would be cool to have an official offline version.

Thanks!

Hey, Conner. Yes, the caching screwed things up a bit. The first version of the page didn’t have a no-cache pragma and most people should need to reload to get the latest version. From now on, any modifications should show up without reloading.

The “?1” is there to prevent the caching of the javascript, like you guessed. The initial version didn’t have it at all. Like I said in the first post, the whole thing didn’t start much seriously, so I overlooked these little tricks.

Oh, and I put a zip and link to it there. Now it’s official. ;)

Superb. Now we have such type app for mac!

The new analyze function doesn’t seem to work here ?
This is the data i pasted :

<?xml version="1.0" encoding="UTF-8"?>  
<PatternClipboard.BlockBuffer doc_version="0">  
 <TrackColumns>  
 <TrackColumn>  
 <TrackColumn>  
 <Lines>  
 <Line index="0">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>D-5</Note>  
 <Instrument>02</Instrument>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="1"/>  
 <Line index="2"/>  
 <Line index="3"/>  
 <Line index="4"/>  
 <Line index="5"/>  
 <Line index="6"/>  
 <Line index="7"/>  
 <Line index="8"/>  
 <Line index="9"/>  
 <Line index="10">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>OFF</Note>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="11"/>  
 <Line index="12"/>  
 <Line index="13"/>  
 <Line index="14">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>F-5</Note>  
 <Instrument>02</Instrument>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="15">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>OFF</Note>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="16"/>  
 <Line index="17"/>  
 <Line index="18"/>  
 <Line index="19"/>  
 <Line index="20"/>  
 <Line index="21"/>  
 <Line index="22"/>  
 <Line index="23"/>  
 <Line index="24">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>E-5</Note>  
 <Instrument>02</Instrument>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="25"/>  
 <Line index="26"/>  
 <Line index="27"/>  
 <Line index="28">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>OFF</Note>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="29"/>  
 <Line index="30"/>  
 <Line index="31"/>  
 <Line index="32">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>G-5</Note>  
 <Instrument>02</Instrument>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="33"/>  
 <Line index="34"/>  
 <Line index="35"/>  
 <Line index="36"/>  
 <Line index="37"/>  
 <Line index="38"/>  
 <Line index="39"/>  
 <Line index="40">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>OFF</Note>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="41"/>  
 <Line index="42"/>  
 <Line index="43"/>  
 <Line index="44">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>A#5</Note>  
 <Instrument>02</Instrument>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="45"/>  
 <Line index="46"/>  
 <Line index="47"/>  
 <Line index="48">  
 <NoteColumns>  
 <NoteColumn>  
 <Note>OFF</Note>  
 </NoteColumn>  
 </NoteColumns>  
 </Line>  
 <Line index="49"/>  
 <Line index="50"/>  
 <Line index="51"/>  
 <Line index="52"/>  
 <Line index="53"/>  
 <Line index="54"/>  
 <Line index="55"/>  
 <Line index="56"/>  
 <Line index="57"/>  
 <Line index="58"/>  
 <Line index="59"/>  
 <Line index="60"/>  
 <Line index="61"/>  
 <Line index="62"/>  
 </Lines>  
 <ColumnType>NoteColumn</ColumnType>  
 </TrackColumn>  
 <TrackColumn>  
 <Lines>  
 <Line index="0"/>  
 <Line index="1"/>  
 <Line index="2"/>  
 <Line index="3"/>  
 <Line index="4"/>  
 <Line index="5"/>  
 <Line index="6"/>  
 <Line index="7"/>  
 <Line index="8"/>  
 <Line index="9"/>  
 <Line index="10"/>  
 <Line index="11"/>  
 <Line index="12"/>  
 <Line index="13"/>  
 <Line index="14"/>  
 <Line index="15"/>  
 <Line index="16"/>  
 <Line index="17"/>  
 <Line index="18"/>  
 <Line index="19"/>  
 <Line index="20"/>  
 <Line index="21"/>  
 <Line index="22"/>  
 <Line index="23"/>  
 <Line index="24"/>  
 <Line index="25"/>  
 <Line index="26"/>  
 <Line index="27"/>  
 <Line index="28"/>  
 <Line index="29"/>  
 <Line index="30"/>  
 <Line index="31"/>  
 <Line index="32"/>  
 <Line index="33"/>  
 <Line index="34"/>  
 <Line index="35"/>  
 <Line index="36"/>  
 <Line index="37"/>  
 <Line index="38"/>  
 <Line index="39"/>  
 <Line index="40"/>  
 <Line index="41"/>  
 <Line index="42"/>  
 <Line index="43"/>  
 <Line index="44"/>  
 <Line index="45"/>  
 <Line index="46"/>  
 <Line index="47"/>  
 <Line index="48"/>  
 <Line index="49"/>  
 <Line index="50"/>  
 <Line index="51"/>  
 <Line index="52"/>  
 <Line index="53"/>  
 <Line index="54"/>  
 <Line index="55"/>  
 <Line index="56"/>  
 <Line index="57"/>  
 <Line index="58"/>  
 <Line index="59"/>  
 <Line index="60"/>  
 <Line index="61"/>  
 <Line index="62"/>  
 </Lines>  
 <ColumnType>EffectColumn</ColumnType>  
 </TrackColumn>  
 </TrackColumn>  
 </TrackColumns>  
</PatternClipboard.BlockBuffer>  

Edit Taktik: added pasted code into [CODEBOX]

@Kara: Could you be more specific? What does “doesn’t seem to work” mean exactly?

It works for me. All the probabilities are set exactly. Indeed, there was a minor bug - the instrument number wasn’t set. It’s fixed now. But was this what you meant?

Try refreshing the page to make sure you’re using the latest version.

When I click on analyse, nothing happens ?
i’m on ie7

k

Hm, I see now. You’re right, Analyze doesn’t work in IE7. I tried to make some changes to make it run but no luck.

It’s no surprise though. IE always sucked and I suppose it always will. It chokes even on the simplest of things, let alone something more unusual. I may try again, but can’t promise anything.

Meanwhile, everything works perfectly fine in Firefox, Safari and Opera.

Do yourself a favor and get Firefox. ;) Not because of this tool only, of course, but because it’s simply a much much better browser.

subset: Awesome! Thanks a bunch for this.

Just had a play with this… very nice, we need more Renoise tools. :)

Thanks a 1,000,000’z

(@ subset) Is it possible for you to code the possibility for longer patterns (>64) ? Please :slight_smile:

Well, I tried and made such a version, but I’d label it “beta” for now. Having more elements to interact with, makes things considerably slower. On my PC here the performance is somewhat sluggish. Check it out on http://renoise.hit.bg/beta/ and let me know if it works reasonably.

There are page buttons above the position and velocity sections: 0-63 and 64-127. Having all the positions on one page would make the sliders too thin to control.

It’s hardcoded to 128 rows now. I can imagine 256 will be unbearable. OTOH, making the row count dynamic may help for the general case of 64, but it’ll be quite complex to do. I’m not sure it will be worth the work. You could always generate several times for longer patterns.

This is awesome. Really really awesome.

Thanks!

I think this tool should also be included on the Renoise official tools page at http://www.renoise.com/download/tools/

Me too.

Who’s updating those pages? Not everyone reads the forums, no?

Hello everybody,

If you are interested, I have developed a nice little “phrase generator” for Renoise, that pastes tracks directly inside the tracker.

Not yet ready to release (only started coding it yesterday), but I would love your feedback on the screenshot and demo loops I have posted in this thread.

Is this tool available anywhere? I’m having no luck with those links

I had no problems reaching the page or the download… Have you tried shutting down your firewall? if your host has blacklisted the domain, well, guess you need something like Tor browser or another type of proxy browser to reach that site.

http://sector-seven.net/assets/software/rpg/rpg.zip

This is exactly what I’ve been looking for, it’s a shame it no longer selects the correct instrument number though.