sample trigger marker

I’m not sure if I chose the right name, but I’ll try to explain it:
Sometimes you want to use (for example) oneshot audio clips that have a rhythmic quality, but don’t start right at the beginning of the clip, there might be a few miliseconds of reverse reverb or any other effect that’s before the beat. Which means that when you place the sample on the beat in the pattern editor, the actual rhythmic part is offbeat. It would be cool to have a trigger marker, similar to slice markers, that you could place on the exact moment the beat hits in the sample editor and then when you use it as a parameter next to the note in the pattern editor the sample would start playing earlier and hit trigger marker position at the beginning of the line it’s placed (if there’s no aditional delay). I can think of several cases where something like that would be useful, long samples with few rhythmic elements, aligning stems with intros etc.

1 Like

Great minds think alike ;)

can’t you simply use a 0Sxx command for this?

For small samples, that will suffice. If you have very large sequenced loops, even an S01 might skip beyond the hitpoint. And you could never trigger from a precise point.
Having a marker that you can control with an Sxx command, would solve that. You can already do this with slice markers, but these affect the pitch properties of the instrument, so the marker should be similar as a slice marker but then not cutting up the sample and dividing the parts across different keys.

Yeah, that’s exatly it, I’m kind disappointed though because if it hasn’t been implemented since… On the other hand it’s just 2 years, we may still get it.

No, you don’t want to slice it, you want the whole sample to play, but you have a “buildup” (a reverse echo, a sweep, whatever) before the actual sound and you need the actual sound to align with beats. To do that now you have to place it above the actual beat line and calculate a delay that is different with every note because changing the pitch of course changes the sample length. With this idea you’d just put a trigger marker to the sample and it would automatically start playing earlier. Look at the thread joule linked, several people explained it better than me, my english is far from perfect :)/>/>


Now, I see two possible reasons to not implement it:

  1. It looks like an unnecessary feature. My answer to this is obvious - having to solve this is quite common and current solutions not only feel like a workaround, but mainly look like a big disadvantage of the tracker concept because in most other DAWs you just see the sample in the audiotrack and moving with your mouse is super easy. This takes a while to finetune because you don’t see the waveform and you have to change the numbers with your keyboard. Another thing is, one of the main features of Renoise for me are fast workflow and precision, and a feature like this would definitely add to both.

  2. You hneed to have a visual representation so that a sample doesn’t just start to play out of nowhere. This is a tougher question. My idea is to make the note that is on beat greyed out (or use any other color so that it doesn’t look like an invalid entry) a bit if it uses the trigger parameter, and then add a special column (normally hidden or toggleable like volume, delay and panning) with just one space that would contain an asterisk if a note actually starts playing on that line. Ideally, the asterisk would be clickable and would bring the beat line into focus.

0Sxx isn’t a slice, it’s just your sample devided in 256 starting points
So if you use 0S01 your sample will start after 1/256th of your sample, 0S80 will start at the middle etc. With relatively short samples you have a very high resolution.
If you’re not planning on using that little ‘sweep’ I’d suggest to just select it and press ‘delete’. />

If you look at the attached picture you can see the 0Sxx command at the bottom of the sample.
Say, you want to keep the silence at the start but want to start the sample off at the beginning of the actual sound you could just insert it and add the 0S69 command.

He does want to keep it though.

He wants “Reverse Auto-Seek” for lack of a better way to explain it.

It’s a hard concept to grasp without a video… I didn’t get it two years ago and didn’t again this time until I re-read Joule’s older thread.

oh, i get it… but that would require the tracker to process at least several lines in advance, which might be complicated to program (and/or compute in real-time)…? It would still be a neat feature i guess.

A similar feature that would be really useful i was thinking about was to have a “negative” delay, so that you can put notes in the first lines of a pattern, that will actually occur before the pattern actually starts. This would be wonderful for adding “grace notes” or quickly arpeggiated chords at the start of a pattern, without having to copy the preceding pattern just for that one last line.

It would calculate the position when you enter the note and mark it internally (and possibly show it on the line where it actually starts like I said above), that wouldn’t slow down anything.

I get it now, you want the prebeat noise to sound too but put the sample on-beat.

Exactly.

This is really doable in a LUA script making use of the track delay
EUR 30 to my paypal and I’ll have it uploaded by tomorrow evening. sorry I just remembered the max delay time there either side is 100 ms - not enough for anything but a small (near drumhit like) attack phase.

I’d like to see that happen. The track delay is limited to 100ms and would affect the whole track. Even if people would be happy with 100ms:

Other than that, you would need to abuse LUA with a custom notifier that changes the track delay depending on what sample is soon to be played. Going down that road, you would have to change the track delay in realtime causing audible artifacts. And this custom routine would not work very well (or at all?) when rendering.

I can see another more plausible workaround solution. Not very practical but still very usable:

  1. Mark the “note aligner” with a slice marker
  2. Hit a shortcut when cursor is being placed where you entered the note
  3. Voila! The note is being marked with S01 and the S00 part is being pasted some lines up with the correct delay value.

Or, this could be made as a more general tool with two shortcuts - “Paste note for previous slice” and “paste note for next slice”. Anyone think this would be usabe?

No indeed, the track delay is 100ms, besides you are delaying everything in that track including samples that one might not desire to delay.
What i think you can do is read out the selected area in the sample editor (you just click the position in the sample where the hitpoint is (that position will also be marked as “selection”) and then let a tool calculate how many lines including delay values is required to reach that point from the start of the sample. Then simply move the note that amount of rows and subtract the calculated decimal delay value from the maximum FF delay value.

[…------|**********------…]
<triggerpoint

rowlen = formula_to_calculate_time_in_rows_and_delay(1 to renoise.song().instruments.samples.sample_buffer.selection_start)
Move note from triggerpoint to triggerpoint - rowlen.

There are tools that already calculate sample-time in milliseconds, perhaps they are a good start to get something to convert that into row and delay times. (Or perhaps dBlue is here to the rescue )

You don’t have a real-time solution, but at least a solution that takes away the trial and error phase of figuring out the correct position.

My idea was indeed something with the cursor in the SE area, then calculate. But then in my mind it should be an option (if <100ms) to either use track delay so that you can place the notes where the ‘hit’ seems to be (really this approach would add so much to the thing composers might miss a bit in trackers, namely the visualisation of sounds and how sounds coincide on the groove), or indeed shift things, ie. calculate the value you would need for advanced edit’s “nudge” and possibly do the rotating.
Indeed if you select the trackdelay-variant, you need to carefully just program only that sample in that track which takes away slightly from the flexibility Renoise offers. With group tracks and such that should not be too big of a problem though imo.

a Downbeat Marker in the sample editor would be cool,
for pads, for vocal breaths before the singing, etc.

sorry for the necromancy