New Tool (3.4) genpad - euclidean | chorder | bars | glider

I was missing this crucial information lol. Much better, thanks!

I see. I almost always have pattern follow on by default. easy enough to adapt

Cool. Thanks again for these great little extensions!!!

version 0.3 new pad + updates

In response to @slujr’s request, I present to you…

bars :ladder:

bars

Manage the timing of your patterns from a dialog that can create new patterns with length based on beats and bars. If you want, it can write FX commands for you as well to change BPM, LPB, TPL, it might even make you BFF with odd time signature changes.

usage

  • Open the pad using the key-binding you’ve set up
  • Select fields with Up and Down
  • Set values with Left and Right (hold ctrl/command for coarse stepping)
  • Press Enter to apply your parameters

parameters

  • beats - how many beats you want to have in the pattern
  • bars - each bar will have the previous number of beats inside it
  • LPB mode select what to do with the lines-per-beat value
    • keep - no ZL command will be written, the pattern will play at your current LPB
    • edit - a ZLxx command will be inserted into the first line of the master track
  • n lines - becomes available on edit LPB, it affects how many lines each beat has
  • BPM mode select what to do with your pattern’s beats-per-minute setting
    • keep - no ZT command will be written, the pattern will play at your current BPM
    • edit - a ZTxx command will be inserted into the first line of the master track
    • calc - same as edit but lets you pick a new BPM based on an integer ratio, useful for metric modulation
  • n beats - set your desired new BPM value
    • * x, / y - these lines will only appear on calc BPM mode, they will let you pick values to calculate the new BPM with the equation BPM * (x / y)
  • TPL mode select what to do with the ticks-per-line setting
    • keep - no ZK command will be written, the pattern will play at your current TPL
    • edit - a ZKxx command wil be inserted into the first line of your master track
  • n ticks - available when edit TPL is set, use it to pick the desired TPL
  • n patterns - select how many new patterns to insert after your current pattern with the settings you have chosen
    • to modify the current pattern, set this to zero. edit pattern will appear and no new pattern will be created when pressing Enter.

chorder

  • fixing the issue with follow turned on by turning it off automatically when you open pads.
  • Alt+Up/Down will let you go to new lines to continue adding new chords. This workflow is still not perfect but at least it is now somewhat possible.

manual website

As I create more tools the readme containing all of their descriptions got a bit unwieldy on gitlab. It was also not optimal that people had to download the whole repo and unzip before being able to install. So I made a page that gets updated automatically whenever I push new updates to these tools,

  • it serves each tool as a separate download
  • provides a nice way to browse the manuals
  • if you want you can still download all tools at once and the old links will keep working the same way.
  • check it out! (still somewhat under construction but it is already functional)

Stay on track!

2 Likes

Let me know what you think @slujr. Next time I get back to this, I’ll have these todos for bars

  • Find the timing commands in patterns when you switch to them and update your current settings automatically without having to play the line.
  • Let you insert a new section with the defined timing settings inside the current pattern at the cursor ( to create compound rhythms)
  • Optionally add timing information to new patterns as sequence comments in the pattern matrix
  • Save/recall previous settings (I’d like to implement this for all pads)
1 Like

:money_mouth_face::star2::exploding_head::dizzy::notes::ok_hand::alien::sparkles:

Looks great! @ToybOx (and several other residents glitch lords) might want to check this one out

TYTY!

Will give my opinion after trying it out for a bit, too

1 Like

OK, so the main issue I’m seeing with this is the inability to subdivide the beat value. Ideally we should be able to subdivide by any value that the lpb allows for, to create (for example) 7/8 or 13/16 rhythms
So if LPB is divisible by four, beats should be able to go down to .5 and .25 and .125 even
If LPB is divisible by 5 Beats should be able to be .2, .4, .6, .8
and so on and so forth
As it stands, if you’re working at 16 LPB with four beats as 4/4 time, there isn’t an easy way with this tool to switch to, say, 3/8 or 7/8 time. Unless, of course, I’m missing something obvious.

You could make up for this by changing the bpm as well, of course, but that would have impacts on delay times, repeater values, etc. so isn’t really a viable workaround imo

Ouch, I thought people would do 7/8 with 7 beats instead of 3.5. but I see how the bpm would be messed up.

On the other hand setting .5 beats sounds a bit confusing, and you’d still have to calculate what LPB and fraction you need, to achieve some odd meter. Maybe it can be helped a bit by displaying for example “+ 3/5” instead of “.6”?

So if you’d hold down Shift while setting a value, the beats would step through all available fractions like that? Like for 12 LPB it would display x beats + “1/4, 1/3, 1/2, 2/3, 3/4”.

That said this would mean that you couldn’t really do more than 1 bar in a pattern nicely, right? Because the second bar would start from the middle of the beat and everything would be shifted (highlight-wise) a half-beat ahead (in the case of 7/8).

1 Like

Yeah, the highlighting suffers when you drop to x/8 or x/16 that’s why I was wondering if the API could access it

I wonder if the more elegant solution for divisors would be to have beats as you already do, then have a divisor value parameter as well that can flash a little warning sign when it doesn’t fall evenly within the LPB value :warning:

Like a traditional time signature with numerator and denominator but more flexible

But idk, what you suggest with fractions would also work great :smiley:

But even if we could set the highlight it couldn’t highlight beats like 3.5, only bars. I guess I could write “mark lines” in the master column at each bar/beat as a hint something like XX00 when creating a new pattern :melting_face:

About warnings, I’d like to keep the dialog behave in a way that there is no ambiguity and you can’t set things that can’t be expressed as a pattern. Which is why currently it will lock you to always stay below 513 lines as 512 is the max length, no matter which setting you tweak.

Adding time signature-like setting could be possible with more work. I guess the general problem is Renoise in some sense is less flexible (or different) when it comes to expressing beat values because you can’t just divide things down freely but instead have to work from the limitations of LPB, setting a high enough LPB to be able to express more beat values becomes unwieldy fast, like 60 LPB to have triplets, quintuplets and eighth notes in the same pattern?

I was thinking along the lines of having a time signature (with the denominator fixed to multiples of 4) and it would restrict you to values of LPB that could be divided without a fractional remainder given your numerator, so the LPB setting would be like a resolution: at the lowest it would make the time signature possible and as you step it up, you get more and more lines between each beat.

Ps I guess just using 7 beats for 7/8 would be better even with the doubled BPM but unfortunately that won’t work at all because you can only write a maximum of 255 BPM into the pattern so anything above 122 BPM would be off-limit.

1 Like

I’m sure whatever you choose to implement will be good :slight_smile:

personally, I’m all for maximum flexibility, and I’m used to the line accents not necessarily accurately reflecting beat values for x/8 or x/16. So I’d love to see a system where any LPB value can be used, and divisors for that, when it can be cleanly divided. There are other tools (ie place selected notes evenly) for n-tuplets, so I’m not worried about that personally, and almost always work at 16 LPB these days unless I want to get really intentionally off kilter with a 7 or 9 or 15, etc LPB value. Still it would be great to preserve the maximum in flexibility for generating new rhythmic structures within the confines of the software and API

I appreciate you dialoging on this! And especially appreciate you taking the time to make these tools that make renoise better for everyone

version 0.3.1 fractional beats :musical_score:

Based on the discussion with @slujr above, I’ve added the ability to pick fractional beats in bars. I went with allowing fractions to be selected for the beats value because it was easier to implement and it offers more flexibility than picking a time signature would (at the cost of the user having to do a bit of math to figure out the solution to some odd meter). I believe this less “music-theory-y” approach might lead to more experiments that don’t come from preconceptions about odd meters in western music theory.

That said I might still add a separate mode later on that lets you pick time signature directly as well.

Below I paste the relevant addition from the manual that explains the new functionality and summarizes the limitations of using it.

odd meters and fractional beats

In case you wanted to use fractional beats (like 3.5 to achieve a 7/8 rhythm while keeping beats as quarter notes), you can hold down Shift while stepping the beats parameter. This lets you to pick from all proper fractions based on the selected LPB value.

If you want to know what fraction you need to achieve a certain time signature, you can divide your beat value (the denominator in the time signature) by 4, then divide your beats (from the time signature) by the result.

For example to solve for 7/8

Quarter = 8 / 4 = 2
Beats = 7 / Quarter = 3.5

So you’d pick 3 + 1/2 for beats.

Or for 13/16

Quarter = 16 / 4 = 4
Beats = 13 / Quarter = 3.25

Gets you 3 + 1/4 for beats.

Unfortunately, your line highlight in these cases will be disconnected from the actual beats after the first bar. One workaround is to set the Pattern highlight in your Song Options to the length of your bar or to only use patterns containing a single bar.

You could also just set the number of beats based on the numerator in your time signature (for example 7 for 7/8) but then you’d also need to double your BPM if you wanted to keep quarter notes as 1 beat. Unfortunately the ZT command to set the tempo only allows for BPMs up to 255, so if you do this you will not be able to change tempo mid-song and whatever effect you use that relies on BPM will have to be adjusted accordingly.

3 Likes

This is very exciting! Looking forward to testing it out :grin:

EDIT: finally got a chance. Bars is fantastic, thank you!!!
I hope lots of people check this out, especially breakcore, experimental, idm, and glitch artists using renoise will benefit immensely from the great ease of use this tool provides for creating unusual rhythmic structures. really excellent.

1 Like

version 0.4.1 new pad

Born from a request from @casiino :1st_place_medal: - the first and only donator to my tools :hugs: - I present this humble addition to the available pads:

glider :ice_cube:

glider

A pad that generates glide commands (-Gxx) that arrive at your note in a desired number of lines. You need to launch it from a note that has a previous note in the pattern and the pad will fill up the sample FX column with the calculated glide commands.

parameters

  • lines - how many lines should the glide take up (between 1 and the length of the note)
  • steps - how many steps to distribute the necessary glides onto (by default this is the same as lines, when lowered, an euclidean pattern will be used for equal distribution)
  • remainder - often the exact glide value needed is not divisible by the number of lines you select (which is why there is always a -GFF inserted at the end of glides), you can choose to spread the remainder across steps or drop it. The effects of the choice won’t be audible in most cases, but drop is there if you want the glide to be completely uniform.

usage

The pad will have different start settings depending on where you are launching it from (you can still change the settings while it’s open of course)

  • From the exact line of the note you want to glide: it will cover the entire duration of the note
  • Further down from inside the note: it will glide until that line

While this tool is rather simple in scope and features, it is not considered finished, ideas towards improvement are welcome!

download genpad or find the source and other links at the top.

6 Likes

This is awesome bro!!! Thanks for this :sunglasses:

1 Like

This imo most definitely should be implemented in to renoise

1 Like

I suppose the “native way” could just as well be to have a separate single command that glides to a note it is applied to in xx lines.

1 Like

cool, reminds me of Joules slide to next note; https://forum.renoise.com/t/new-tool-2-7-2-8-slide-to-next-note/

Oh nice thanks, I should’ve checked the forum before doing it I guess.

That said it seems to be for earlier versions of Renoise, not sure it still works.

not sure either, I think I’ve manually updated the manifest in the past if the auto updating didn’t work, but can’t remember if it was with this script. It worked differently though, you hit a keyboard shortcut and the glide is automatically calculated wherever you have the cursor in between notes.

Thanks alot for your tools - when using glider i noticed when there are glides underneath it on other notes it automatically deletes them.
Would it be possible to have an option so it doesnt delete the glides on other notes underneath it?

Thanks in advance!

1 Like

Hey @renoize-user , thanks for the report, I’ll be able to look into this next month.

1 Like