How to apply swing to triplets with delay commands?

This one?

http://www.renoise.com/tools/slicemate

No turns out it’s built in.

  1. Slice your sample
  2. Right-click sample -> Slices -> Render Slices Options (you can set LPB and quantize here)
  3. Right-click sample -> Slices -> Render Slices to Phrase

Set quantize to none and the phrase will have values in the delay column that you can use.

O.K, thanks. i understand now.

That is a cool function but the problem I have is that I also dont have the correct values for swung triplets in sunvox.

I can swing 16ths in the same way in renoise and sunvox but I cant apply that swing to triplets ( using delay by ticks commands ).

I suppose that method could work for swung triplet hats from G-stomper though.

I wanted to suggest the same - slice a sample of a beat with swing, and use the phrase extraction function to find the groove formulas. You can find out how exactly the groove sliders in renoise shift notes … and if you sample sunvox or other programs, we can find out their groove settings.

I had tested it, it works fine if you take some care. The autoslice is not exact enough…you need to manually place the slice markers at exactly the same place of the sample or sound you recorded. I used hihat sample or pitched up snare sample, at slow speeds, and placed the markers at the transients. Make sure the first slice marker is at the very start, and the sample is exactly 2,4,8 beats long after cutting.

So…sample some swung triplets from sunvox? Sample all variations you would need in renoise, and just use the delay values extracted from the sample. And I doubt using tick delays will be exact enough for the task.

Hey, thanks for the phrase extraction suggestion.

I know its possible to do swung triplets with just delay by ticks commands.

In the Roger Linn article about swing variations which I linked above he mentioned that all his early drum machines could do all the swing variations and that he only had a resolution of 48 parts per quarter note for those drum machines, in other words 12 ticks per line, 4 lines per beat. One beat is one quarter note or crotchet.

I cant sample swung triplets from sunvox because I need the delay by ticks command values to swing them in the first place.

O.K, so if I can extract swung triplet delay values by using renoise global groove device and phrase extraction they will be in 256ths of a line?

That wont help in sunvox or milkytracker because those two trackers dont have the 256ths of a line delay column.

I need them in delay by ticks commands.

Sorry, I dont want to come across as annoying and picky about it.

There must be some way to work out swung triplets using delay by ticks commands?

Then I can have swung triplets in all the trackers : Milkytracker ( portable on PDA ), Sunvox ( has native modular synths, portable on android tablet ) and of course renoise ( final stage, better sampler for adding chopped breaks, hosts vsti for bass ).

Also, one last thing…does the renoise global groove device only become active after 50%? That would make sense as usually groove / swing sliders start at 50%, with 50% swing being ‘no swing’ ( both first and second sixteenth notes equal length ).

Hi!

You could just sample and do the slice thing…then calculate tick delay from the 256 bases. Divide by 256, multiply the fractional value by the number of ticks per line you’re using (i.e. lpb) - then you just need some rounding, and you have the delays ready to use. The lines thing can be configured in the menu where you render to slice…it’s in the right click on sample menu -> slices -> render slice options - lines per beat.

Renoise does very well effect from 0-20%, it is just a rather subtle effect. My favourite groove setting goes like 10 15 10 20 or so, and sounds very organig, but I tune it for each song until it sounds “right”. Using the render to phrase thing we could also find out how the groove sliders actually work, and try to remap them to match other program’s or device’s groove slider! I’ll try and chime back in. It works like 0% = no swing, and then gradually until 100% which is hard but not extreme swing…it is different than the 50…75% stuff. I belive 100% in renoise is more extreme swing than 75% using the traditional values. But we can find out!

O.K that sounds like a good idea.

I’ll try the phrase extraction and conversion of 256ths of a line values into ticks.

I’ll try the two other programs I have with swing on something with a hard attack and silence inbetween each hit, probably just hi-hat tripets.

MPC2.0 software ( should be classic roger linn MPC swing ) and G-stomper.

It would be good to know what the percentages in the renoise global groove sliders actually represent.

Maybe 0% is like 50% ( no swing ) and 100% is like 75% ( dotted 16ths? ).

62.5% swing is a good swing to start with on this.

I’ll report back if I have any luck with it.

I rendered some swung hi hats from G-stomper, with swing slider set at 62%.

I rendered straight beats and triplets ( both with swing slider at 62% ).

I added sample slice markers and rendered slices to phrase, LPB 4, Quantize NONE.

How would I convert the results I got, which added 256ths of a line delay column delays into delay by ticks delays?

Sounds like they all line up nicely to me ( when they are placed alongside each other as a rhythm in a pattern ).

Maybe not exactly perfect

How do I attach the song file as an example?

Here are the results :

32 BPM, 16TH NOTES, SWING SLIDER AT 62%

[total = 2048, 1st = 1269, 2nd = 779]
[62% on G-stomper swing slider for 16ths, converted to renoise 256ths of a line = 61.962890625]

00 C-4
01
02
03
04 C-4 F5
05
06
07
08 C-4
09
10
11
12 C-4 F5
13
14
15
16 C-4
17
18
19
20 C-4 F5
21
22
23
24 C-4
25
26
27
28 C-4 F5
29
30
31

32 BPM, 32ND NOTE, SWING SLIDER AT 62 %

[total = 1024, 1st = 634, 2nd = 390]
[62% on G-stomper swing slider for 32nds, converted to renoise 256ths of a line = 61.9140625]

00 C-4
01
02 C-4 7A
03
04 C-4
05
06 C-4 7A
07
08 C-4
09
10 C-4 7A
11
12 C-4
13
14 C-4 7A
15

32 BPM, 64TH NOTE, SWING SLIDER AT 62 %

[total = 512, 1st = 317, 2nd = 195]
[62% on G-stomper swing slider for 64ths, converted to renoise 256th of a line = 61.9140625]

00 C-4
01 C-4 3D
02 C-4
03 C-4 3D
04 C-4
05 C-4 3D
06 C-4
07 C-4 3D
08 C-4
09 C-4 3D
10 C-4
11 C-4 3D
12 C-4
13 C-4 3D
14 C-4
15 C-4 3D

32 BPM, TRIPLET 8TH NOTE, SWING SLIDER AT 62%

[triplets individual note lengths, 1st = 1693, 2nd = 1037, 3rd = 1366]

00 C-4
01
02
03
04
05
06 C-4 9D
07
08
09
10 C-4 AA
11
12
13
14
15

32 BPM, TRIPLET 16TH, SWING SLIDER AT 62%

[triplets individual note lengths, 1st = 846, 2nd = 519, 3rd = 683]

00 C-4
01
02
03 C-4 4E
04
05 C-4 55
06
07
08 C-4
09
10
11 C-4 4E
12
13 C-4 55
14
15

32 BPM, TRIPLET 32ND NOTE, SWING SLIDER AT 62%

[triplets individual note lengths, 1st = 423, 2nd = 259, 3rd = 342]

00 C-4
01 C-4 A7
02 C-4 AA
03
04 C-4
05 C-4 A7
06 C-4 AA
07
08 C-4
09 C-4 A7
10 C-4 AA
11
12 C-4
13 C-4 A7
14 C-4 AA
15

Very good! You seem to know how it works.

To get the number of ticks - take the delay value, divide it with 256 and multiply by number of ticks in line. so (delay/256)*tpl - just use the delay value in each line. You also have to round some values…and like danoise said, it is possible to choose to have the notes late or early, it can make subtle differences.

And I have something very nice for you.

Yes I have been naughty and have also sampled hihats, in renoise by itself, playing with the groove sliders. It is really boring to have to place so many slice markers by hand. But it was worth the hassle. I found how the groove sliders delay notes.

Each is for delaying the 2nd, 4th, 6th and 8th 16th note in your tune, individually. To get straight swings like in other drum machines, just set them all to the same value.

As you noticed, the percents work other than the 50%-75% stuff. They quasi go in their range 0…100 from 50%-83(1/3)%. So maximum shift is not just one half (0.5), but rather 2/3 (0.666666666…) and all that withing 0…100%…

conversion:

percent = 25renoise(0.666666…/0.5)/100+50

renoise = (percent-50)*(0.5/0.666666…)*100/25

shorter:

percent = (renoise+150)/3

*renoise = (percent - 50)3

Sorry, I’m very tired right now, and cannot longer keep up my attention to test these formula. Interested to hear what you experience, if you try to match renoise and other programs with them. Maybe they match, maybe I made mistakes in them. Maybe even triplets will match, but maybe the positions in between could be different from software to software.

Edit, fixed the formulas

…Seems like the straight timings between the results of your prog and renoise match, if you use the formulas in above post.

But unfortunately triplets seem different, or I am too stupid to get them timing the right way. Maybe I have done it wrong, you might want to test. but also could be triplets being swung in a different way…

Renoise dev’s take on the topic:

It’s not vitally important to understand the exact technical details here, since groove is about adding a feeling to the beats. The best way to get a feel for the settings is to just play around with them. To make it easier to hear what’s going on when you do, try adding something like a steady hi-hat line, which will be triggered fast and often.

Oh mighty shit, we are doing it wrong. :smashed:

Thats all true if you are only using renoise. In that case it should be easy to swing triplets or anything ( qunituplets using phrase etc. ) by using the global groove device.

The issue I have is that I really want to understand how the roger linn swing variations work, as they were based on only 48ppqn ( 12tpl, 4lpb ) so that I can use milkytracker and sunvox with swing and swung triplets while travelling or getting outside at the park, then sample what i’ve done into renoise when I get back to the computer, having all the swings and swung triplets all aligned perfectly.

It seemes like a much more difficult thing to work out than I had anticipated.

The swing variations are no problem, its the swung triplets that are giving difficulty.

( There is still the question of whether roger linn rounded up or down for a few of the swing variation though )

I am starting to think that G-stomper also has the 256ths of a line resolution inside its sequencer when I look at the percentages it yielded for swung straight rhythms ( 16ths, 32nds, 64ths ). The percentage was 61.9140625 for the 32nds and 64ths ( @32BPM ). For the 16ths I gots a slightly different percentage ( 61.962890625 ). I think this must have been due to placing the slice marker slightly off, or maybe the rendering put a tiny tiny bit of ‘air’ at the beginning of the rendered 16ths hihat pattern. I think If G-stomper swing was based on the old linndrum style resolution ( 48ppqn ), the 62% should have been more like 62.5%.

What I really want is a more direct way to work out swung triplets in ticks. Maybe a tool in which I could put in one of the 16ths swings ( using delay by ticks commands ) and it would output the various possible swung triplets ( fast, medium, slow ). Unfortunately I have no lua skills at all.

I think there were slight innacuracies using the render slices to phrase technique.

I got a few FF’s here and there which clearly werent supposed to be there.

If phrase extraction from sample ( and conversion from delay column units to ticks ) is really the only way to work out these swung triplets perhaps I need to use a sample with a harder attack like a single cycle of a square wave, maximum amplitude ( not looped )…then the slice marker can only go in the correct place when zoomed in fully in the sample editor and I will be able to tell if the rendering of the pattern from G-stomper leaves a tiny bit of ‘air’ at the beginning of the sample or not. Hi hats maybe have some room for error when rendering ( the waveform is actually pretty complex when zoomed right in )…I need a test blip.

I just noticed this tool :

https://forum.renoise.com/t/new-tool-3-0-groove-control/42858

Looks awesome and should be a swifter way to find these swing variations ( for compatibility with sunvox, milkytracker delay by ticks ).

All I have to do is convert the delay column to -Qxx commmand.

Shit…I am tired I forgot, that will still leave me with the swung triplets problem.

Alright, finally I have the answer to this problem!

How can I get exactly the same 16th-based percentage swing variations, with the swings applied to triplets properly by using delay by ticks commands in sunvox, milkytracker and renoise, so that I can work across all three softwares with interoperability of swing?

The way to do it is to choose a swing variation based on 12 lines per beat and apply the swung sixteenth note delay commands in all tracks.

My swing variations are here ( scroll down to the second set, I did swung 8ths instead of swung 16ths for the first set ) : https://forum.renoise.com/t/swing-variations-of-50-54-58-60-62-66-70-and-75-as-commands/48546

Here is an example of triplets with a 62.5% swing applied ( which will work the same in all three trackers; milkytracker, sunvox and renoise ) :

TPL-12 LPB-12 ( 144ppqn, 72 ticks per 8th note )

62.5% ( 1st 16th note - 45 ticks / 2nd 16th note - 27 ticks )

( These are swung sixteenths, with 62.5% swing )

00 C-4 00 – ----
01 — – -- ----
02 — – -- ----
03 C-4 00 – -Q09
04 — – -- ----
05 — – -- ----
06 C-4 00 – ----
07 — – -- ----
08 — – -- ----
09 C-4 00 – -Q09
10 — – -- ----
11 — – -- ----
( repeat )

This is how slow triplets with the same swing applied look :

00 C-4 00 – ----
01 — – -- ----
02 — – -- ----
03 — – -- -Q09
04 — – -- ----
05 — – -- ----
06 — – -- ----
07 — – -- ----
08 C-4 – -- ----
09 — – -- -Q09
10 — – -- ----
11 — – -- ----
12 — – -- ----

13 — – -- ----

14 — – -- ----

15 — – -- -Q09

16 C-4 – -- ----

17 — – -- ----

18 — – -- ----

19 — – -- ----

20 — – -- ----

21 — – -- -Q09

22 — – -- ----

23 — – -- ----

This is how medium triplets with the same 62.5% swing applied look :

00 C-4 00 – ----
01 — – -- ----
02 — – -- ----
03 — – -- -Q09
04 C-4 – -- ----
05 — – -- ----
06 — – -- ----
07 — – -- ----
08 C-4 – -- ----
09 — – -- -Q09
10 — – -- ----
11 — – -- ----
12 C-4 – -- ----

13 — – -- ----

14 — – -- ----

15 — – -- -Q09

16 C-4 – -- ----

17 — – -- ----

18 — – -- ----

19 — – -- ----

20 C-4 – -- ----

21 — – -- -Q09

22 — – -- ----

23 — – -- ----

This is how fast triplets with the same 62.5% swing applied look :

00 C-4 00 – ----
01 — – -- ----
02 C-4 – -- ----
03 — – -- -Q09
04 C-4 – -- ----
05 — – -- ----
06 C-4 – -- ----
07 — – -- ----
08 C-4 – -- ----
09 — – -- -Q09
10 C-4 – -- ----
11 — – -- ----
12 C-4 – -- ----

13 — – -- ----

14 C-4 – -- ----

15 — – -- -Q09

16 C-4 – -- ----

17 — – -- ----

18 C-4 – -- ----

19 — – -- ----

20 C-4 – -- ----

21 — – -- -Q09

22 C-4 – -- ----

23 — – -- ----

This is how extra-fast triplets with the same 62.5% swing applied look :

00 C-4 00 – ----
01 C-4 – -- ----
02 C-4 – -- ----
03 C-4 – -- -Q09
04 C-4 – -- ----
05 C-4 – -- ----
06 C-4 – -- ----
07 C-4 – -- ----
08 C-4 – -- ----
09 C-4 – -- -Q09
10 C-4 – -- ----
11 C-4 – -- ----
12 C-4 – -- ----

13 C-4 – -- ----

14 C-4 – -- ----

15 C-4 – -- -Q09

16 C-4 – -- ----

17 C-4 – -- ----

18 C-4 – -- ----

19 C-4 – -- ----

20 C-4 – -- ----

21 C-4 – -- -Q09

22 C-4 – -- ----

23 C-4 – -- ----

apply the swung sixteenth note delay commands in all tracks.

Tip: You can put the Qxx delay commands on the master track to affect all tracks simultaneously, if that’s what you’re going for.

This is how slow triplets with the same swing applied look :
(…)
This is how medium triplets with the same 62.5% swing applied look :
(…)
This is how fast triplets with the same 62.5% swing applied look :
(…)

Not sure if it was just a typo, but in these three examples the Qxx delay commands will have no effect, since they do not actually line up with any notes.

If you are in fact hearing some swing being applied here, double check the master track to see if you’ve accidentally enabled some groove settings.

Tip: You can put the Qxx delay commands on the master track to affect all tracks simultaneously, if that’s what you’re going for.

Thanks. That should work nicely.

Not sure if it was just a typo, but in these three examples the Qxx delay commands will have no effect, since they do not actually line up with any notes.

If you are in fact hearing some swing being applied here, double check the master track to see if you’ve accidentally enabled some groove settings.

Dont the Qxx commands delay a line even with no note event on that line?

The global groove is disabled but it still sounds like it is all swung properly.

There are no problems that I can hear.

Is there a way I can attach the song file?

Not sure if it was just a typo, but in these three examples the Qxx delay commands will have no effect, since they do not actually line up with any notes.

If you are in fact hearing some swing being applied here, double check the master track to see if you’ve accidentally enabled some groove settings.

I’ve had a chance to look into this probem briefly once again.

I would like to point out that what is stated in the renoise manual is that delay column delay commands can only delay ‘notes’ and ‘note offs’, whilst the ‘Qxx’ delay commands can delay the whole line even with no note or event present. Therefore, the swung triplets by Qxx commands in the master track technique outlined above should still work. Its a shame that it was not possible to do it without using 12LPB.

-Qxx - Delay playback of the line by xx ticks (00 - TPL).

00-FF - The delay column can only be used to delay a note or Note-Off

By using 12LPB in renoise, milkytracker and sunvox it will be possible to achieve interoperability of swung triplets across all three softwares. Writing swung triplets stuff whilst out and about on milkytracker ( PDA ) and sunvox ( android tablet ), later rendering those parts to sample then using them in renoise. It should be possibe to do these 12LPB swung triplets in LittleGameParkTracker for PSP as well, but it will be a total mindphuq of line counting and HOP commands.

I would also like to bring attention to the fact that in the global groove, the sliders all go to 100%.

This is wrong.

I’ve had a chance to look into this probem briefly once again. (…)

When we say ‘line’ in reference to the Qxx command we mean ‘any note on that line’, it does not mean that Qxx will interrupt the timing behaviour of the entire playback engine and allow you to temporarily delay everything (even empty space) by xx ticks.

Generally speaking, pattern commands that are intended to somehow affect the behaviour of a note (or notes) can only work when they are triggered in direct correlation to the actual note data, not on some other empty line.

That’s simply how the playback engine operates internally: Note commands must be paired with actual note data that can be processed by those commands, using command values that are actually within valid ranges, otherwise the commands are basically ignored.

If you do want a command that can delay the entire playback engine, try this one:

ZDxx - Delay (pause) pattern playback by xx lines.

It goes without saying that this will of course screw with the ‘true’ BPM of your song, since you are forcing playback to halt temporarily.

Speaking personally, I think the more important point to raise here is: who actually cares if the timing does not precisely match that of SomeHardwareX or SomeTrackerY?

How much time and energy is being wasted worrying about the minutiae of the playback engine, or stressing about timing percentages that are not ‘accurate’ (compared to SomeOther…) down to the Nth decimal place?

“Oh no! When I bring my render into an audio editor and compare the note timings with samplerate accuracy, my groove seems to be off by 0.037% compared to my favourite drum machine from the 80s!”

Seriously… Worry about how your music actually sounds to the listener, not how the pattern data looks or what the decimal places in your calculator tell you. :slight_smile:

Just Make Funky Music™

Just Make Funky Music™

If Qxx can only delay a note or note off ( same as delay column delay commands ), then it seems trackers in general have a problem with swinging triplets, except for renoise that is, because it has global groove. This messes with interoperability of swung stuff or makes it difficult to sample out of other trackers if I wanted to swing triplets the same as in renoise anyway.

I dont really want to use the ZDxx command, because as you said it will mess with the BPM.

The global groove can be used to swing triplets accurately if the LPB is 12, because at 12 LPB delay commands do not need to be used for triplets…I’m assuming that if triplets were made with the use of delay commands at other LPBs ( 4LPB, 8 LPB ) then they would not be swung properly by the global groove.

How does the global groove swing the triplets nice at 12LPB?

Two quick questions…

The global groove sliders go to 100%, most other hardware and software will have maximum 75% swing.

How can I translate renoise groove slider values into normal groove slider values?

I want to use a lot of swing and triplets in general and sample from other software.

If the rendered samples with swing dont line up properly with the renoise swing it sounds all hoofclod, like flams.

Thats why I care about the details of how swing in renoise works with regard to triplets ( maybe later other tuplets as well ).

Swing and tuplets arguably make for more funkiness in music patterns.

Of course if I use no swing at all then I can sample patterns with tuplets from other trackers no problem, plus with the use of the phrase editor it is possible to create crazy other tuplets…nonuplets, tredecuplets. However, no swing sounds quite lifeless, somewhat robotic.

Does global groove apply its swing to phrases used in a song too? Phrases might use different LPB. Will the swings of phrases with different LPB align with swings in pattern editor?