Retrigger command confusion - manual

Hi

I have a hard time figuring out exactly what happens with the 0Rxy command. To test I created a two layered velocity switched instrument, now I’m trying to figure out when the low level sample wil trigger…

Example: I have a C-4 R43 (volume blank) in my track. My guess from reading the manual would be this:

“Retrigger note every 3 ticks with a volume of -8”

Since I havent touched ZK id expect ticks/line to be 12. To make sure I inserted a ZK0C (set ticks/line to 12), which doesn’t change the result.

So this should retrigger 4 times (12/3 = 3) with volumes

80, 78, 70 and 68 (hex) or 128, 120, 112 and 104 (dec)

However the lowest layer only gets triggered on 40 (hex) or 64 (dec)

If I add a volume ot 80 to the note the result is the same.

However if I add a volume of 79 to the note the lower layer gets triggered at 3A (hex) or (58)

I simply don’t get it. Am I misreading the manual, is the manual wrong or is it a bug in renoise?

A test xrns is here:

https://dl.dropboxusercontent.com/u/4343030/retrigger.xrns

It seems the manual is simply wrong in this case. Watching Renoise’s status bar while editing the retrig commands reveals what’s actually going on.

5288 renoise-3-retrig.png

The manual should actually read:

0Rxy - Retrigger note every y ticks with volume x, where x represents:

  • 0 No volume change
  • 1 -1/32
  • 2 -1/16
  • 3 -1/8
  • 4 -1/4
  • 5 -1/2
  • 6 *2/3
  • 7 *1/2
  • 8 No change
  • 9 +1/32
  • A +1/16
  • B +1/8
  • C +1/4
  • D +1/2
  • E *3/2
  • F *2

Aha, that makes sense. Could the manual be updated, to avoid confusion for the next guy?

Could the manual be updated, to avoid confusion for the next guy?

Of course :slight_smile: We’ll get it fixed soon.

Great!

Ok, I’m back. There’s some confusion when rounding is needed

Original test xrns updated:
https://dl.dropboxusercontent.com/u/4343030/retrigger.xrns

I have a note (pattern 0 in xrns) with volume 0x79 = 121. With ticks/line=6 and a retrigger command of R43 I get a retrigger at 0x59 = 89, but 121 - (121/4) = 90.75, which nomatter where and how I round can’t become 89

Next (pattern 1 in xrns) volume 0x79 = 121, ticks/line = 0xC = 12, retrigger command still R43. I get a retrigger at 0x1A = 26, but 121 - (121/4) - (121/4) - (121/4) = 30.25, still no logic (to me) where to round to get 26 from this…

I’m hoping someone will enlighten me…

I’m hoping someone will enlighten me…

The volume additions/subtractions are not actually scaled based on the note’s initial volume — it’s just a fixed amount based on max volume / x, where x is the divisor set in the retrigger command.

So if you’re retriggering with volume -1/4, then the volume step is: 127 / 4 = 31.75

The amount 31.75 is then subtracted from the note volume with each successive retrigger.

For example:

  • 121 (0x79)
    • 31.75 = 89.25 (0x59)
    • 31.75 = 57.5 (0x38)
    • 31.75 = 25.75 (0x1a)
      (Note volumes are actually internally represented and processed as floating point values from 0.0-1.0, then scaled back up to 0-127 and rounded to the nearest whole number whenever needed, but the end result is ultimately the same as what I’ve shown above.)

Thanks, that seems to work!