Hi,
https://1drv.ms/u/s!AjwgVV5LsMaonk8uxFggzlVo5XfF
Cheers,
⌠âsonified pendulum wavesâ - Native Feature Request for Renoise 3.3.1
What is happening?
The dBlue plinky-plonky-polyryhthms.xrns example sounds very natural, like something a keyboardist or pianist might do if they were improvising.
phrase 1 is 16 lines in length
phrase 2 is 15 lines in length
phrase 3 is 14 lines in length
phrase 5 is 13 lines in length
phrase 4 is 12 lines in length
phrase 6 is 11 lines in length
phrase 7 is 10 lines in length
phrase 8 is 9 lines in length
The 16 line phrase is the only phrase in the example which completes its cycle ( the main pattern editor pattern length is 16 lines, phrases and main pattern editor are set to 4 LPB ).
All the others do one and a bit.
If the main pattern editor pattern length were to be set to 288 lines, it wold be possible to have 18 complete cycles of phrase 1 ( 16 line phrase, 18x16=288 ), 24 complete cycles of phrase 4 ( 12 line phrase, 24x12=288 ) and 32 complete cycles of phrase 8 ( 9 line phrase, 32x9=288 ).
If a very, very long pattern or multiple patterns were used it may be possible to get all of the phrases doing multiple complete cycles.
You would have to find, for example a multiple of 14 which is also a multiple of 16, or a multiple of 11 which is also a mulitple of 16.
I have no idea how to work out that kind of thing. How is it done?
Although the example sounds beautiful, technically it is not a polyrythmic pattern as only the 16 line phrase completes its cycle, which makes it just a 4/4 pattern with interesting rhythms inside itâŚa repeating 16 line ryhthm.
If the pattern were 288 lines in length ( or more, to get the other multiples of phrase lengths in ) then it would be a polyrhythm as the phrases other than the 16 line phrase would be completing their cycles.
As far as I am aware a polyrhythm must have complete cycles, like layering different time signatures ontop of each other.
Pattern 8 plays for 8 lines - that is 2/4 is it not? Technically it is a polyrythm, and just complex fractions, like 15/16, 14/16, 13/16 and such â or am I completely and totally wrong? I could be way off.
I did notice that you would have trouble doing polyrhythms like 4/4 and 12/8 without a calculator and some major renoise trickery â example at link below
https://1drv.ms/u/s!AjwgVV5LsMaonlLVURwM4_GOIKHD
Now for Techno, or House things get extremely confusing. And it beckons the question, is it truly polyrhythmic? There are definitely syncopated rhythms, is it multiple time signatures? What if it is complex fractions, are those not multiple time sigs?
If a kick is moving a 120 bpm, than you probably have to go with 2/4, or 3/4 to easily institute polyrhythms. However, I am also not 100% sure that polyrythms must be from different time sigs. it could just be two contrasting syncopated rhythms? Yes/no?
Iâm also learning, and just thinking it out. This is way beyond what I know in terms of theory, and rhythm etc.
But as for House and Techno and dance and club music. - â yes, it can be polyrhythmic. it is hard to program the stuff, but you can easily layer samples over the 4/4 beat that are polyrhythms
Btw, you can get 256 lines per beat, and 512 total lines in a pattern. You are only limited by your ability to work out your polyrhythms with pen, paper, and calculator lol
Edit again =
This one here is, âmaybe, maybe 4/4 and 6/4.â I mean, âI am pretty sure it is.â But I donât want to be like, âit is,â and than I am wrong â make sure when you load this example your master tempo is 60. Your lpb is 128.
https://1drv.ms/u/s!AjwgVV5LsMaonlNQES7MzFC0fBr9
Notice the song is at 120 and not 60 bpm. That the triplets should make about 6 beats to the bar, using my ears. Could use the same procedure to make 9/4 quite easily
technically it is not a polyrythmic pattern as only the 16 line phrase completes its cycle
Note that I applied a glide command GF on every note in the pattern.
The first time the notes play they get triggered like normal, because nothing is sustained/looping/gliding yet.
When the pattern loops back around and the (still playing) notes are encountered again, the glide command prevents them from retriggering and simply lets the phrase continue like a looped/sustained note.
So in this particular example the pattern length is actually quite irrelevant, and the phrases will continue to play and loop out of phase until they all eventually cycle back around in sync again.
You can even reduce the pattern length to 1 line and it will sound the same.
I didnât bother to do the calculations myself, but yeah, itâll take quite a while before everything syncs back up again
Cheers.
I have no idea how to work out that kind of thing. How is it done?
âLeast common multipleâ is the term youâre looking for.
Hereâs a lua snippet you can run in the Renoise scripting console:
function gcd(m,n)
while n ~= 0 do
local q = m
m = n
n = q % n
end
return m
end
function lcm(m,n)
return ( m ~= 0 and n ~= 0 ) and m * n / gcd( m, n ) or 0
end
function least_common(t)
local cm = t[1]
for i=1,#t-1,1 do
cm = lcm(cm,t[i+1])
end
return cm
end
print(least_common({16,15,14,13,12,11,10,9}))
In case youâre wondering, the output is: 720720 lines.
So yes_, quite a while _
Edit: you can also visit this page to calculate such values:
Wow
Yeah, thereâs no way we are going to have patterns upwards to a million lines
But it just goes to show why the trick that dblue pointed out is so useful (using the Gxx command to âtrigger onceâ). You can do a lot of evolving stuff with a single pattern + matrix muting.
Also: @2 daze j: I think you would find euclidean rhythms quite cool - they can produce almost any thinkable basic polyrhythm.
Check out xStream for an implementation of this idea
Also: @2 daze j: I think you would find euclidean rhythms quite cool - they can produce almost any thinkable basic polyrhythm.
Check out xStream for an implementation of this idea
I wont be able to mess around with the scripting. My poor brain really canât think like that. LOL. I will definitely try and use the glide command and chop up more samples
I overlooked the volume column GF command.
Gx - Glide towards given note by x semitones. A value of F will make the slide instant.
Interesting. Instant glide lets the phrases sustain / loop indefinitely instead of retriggering.
I understand now why the pattern length is irrelevant.
I was thinking, if a polyrhythm were to be made up of only 16 line, 12 line and 9 line phrases then a pattern length of 144 would work out nicely
( 9x16=144, 12x12=144, 16x9=144 ).
The most common polyrythm, or the example that I have heard about quite often before, is 3/4 over 4/4.
The full polyrythm cycles every 24 beats.
Eight sets of three beats and six sets of four beats ( 8x3=24, 6x4=24 ).
Thankyou. I will look up âleast common multipleâ.
I have no idea how to use lua yet.
I have no idea how to use lua yet.
All that information is here:https://github.com/renoise/xrnx
I remember when this ability first appeared in 2.8? I believe it came with the arranger tracks. At first you could just access the scripting windows. Now they are off by default. I donât mind. I may alter the config file to see them.
As far as scripting in renoise goes⌠from what I can see is that from 2.7 - to 3.1 the program became incredibly modular. and many of the community ideas that were tools, kind of became native to the program itself.
Oh boy this glide trick for not retriggering the phrase is awesome .
Even workds on vst instruments and midi out .( but only when assigned to phrases )
Interesting. Instant glide lets the phrases sustain / loop indefinitely instead of retriggering.
Technically any glide value will work here, so the speed itself is not important.
Applying glide to a sustained sample that is already playing simply prevents the note from being retriggered on subsequent plays.
In this case, a looped phrase is also treated just like a sustained sample that will essentially play forever until you manually stop it, so the glide trick works nicely here, too.
Thats a nice trick. Another way to use the glide commands other than for gliding.
So glide command is also âprevent phrase from being retriggered when pattern loopsâ command.
Thats a nice trick. Another way to use the glide commands other than for gliding.
So glide command is also âprevent phrase from being retriggered when pattern loopsâ command.
WHich is why this trick is simply amazing .
Multiple phrases of different length looping endlesly could only be achieved by setting a trigger once and create multiple empty clips ( autoseeked )
This little trick gives the same result within a single pattern .