Again, an even more ideal way to randomize phase/audio offset

I was posting something on Ideas and Suggestions subforum seeking a more robust way of phase offsetting and it got me thinking of another approach within the limits of Renoise. So, we’ll combine two simple concepts/exploits and to achieve a little bit more robust way of doing random offsets/phase:

  • Multi-phrases, each having their range of offsets between 0-255 (0x00 to 0xFF), divisible by the value of 12 (0x0C). Since you only can have 12 columns, you’ll need to create 23 phrases to cover all possible offsets.
    image

  • Macro within a Doofer. Similar to what’s seen here, the doofer will contain the FX chain in the following order:
    Key Tracker → LFO → Hydra → Instr. Macro

    • Key Tracker: Dest. Min and Max set to 0, Range is between C-0 to B-9, and the Dest. is set to LFO’s Reset
    • LFO: Amplitude set to 100%, Offset set to 50%, Frequency set to INF LPC, Random waveform is selected, and the Desti. is set to Hydra’s Input
    • Hydra: Out 1 is mapped to Instru. Macro’s Phrase Program, where the range is set to 1-23
      image
      image
  • Optional but suggested.

    • Create sliders on the Doofer where one can attach the Start and End Range off the Hydra’s range input.
      image
    • The Dry/Wet Attaches onto the LFO’s Amplitude (0 to 100%) and Offset (0 to 50%)
      image

random_offset

4 Likes

Let’s hear it! Looks cool.

2 Likes

Yeah it sounds cool man, could you give us a demo?

What phase/offset are you randomizing and why? I don’t understand.

5 Likes

cool beans

1 Like

Well, fuck me! Didn’t realize this could be done! Game changing…
The immediate application I see is in the native granular •••ReGranulizer••• instrument I made a while back… switching patterns easily on the fly brings a whole other level of sound design fuckery to the fore. Thanks for this @beatsgo! The phase randomizer is dope, too. :+1: You should post it up as an xrni so we can all benefit… without having to actually do the work :upside_down_face:

3 Likes

I don’t think it’s possible with the “granularity” approach through phrases.

  • A single, held key press only registers a single phrase.
  • Even if the LFO was set loose to 1LPC, the 1st bullet point still applies
  • You have to remember a Renoise instrument only support up to 12 samples being played at the same time.

But feel free to experiment and prove me wrong. Here’s the file.
random_offset_complete.xrni (185.6 KB)

2 Likes

Ah the sample offset. Cool. I was thinking about phasing, phase shifting, or canceling out phases or something like that.

Oh, we can definitely get some decent granular synthesis going with phrases… Check out the ReGranulizer link for the xnri files, if you’re interested.
And yes, you are correct that a keypress only registers the current phrase and doesn’t update until the next keypress, but if you have multiple note events scheduled in the pattern editor, changing patterns on the fly can yield some interesting results. I was experimenting last night, and it’s definitely fertile ground, imo. Some crazy glitched out audio endlessly propagating… good times.
Thanks for posting up your xrni! Will definitely have a look

edit: Your patch is cool. I like the range control especially. Very useful. Just spamming notes on every pattern line and dropping in a large sample and tweaking the range knobs allows for interesting granular control. Setting dry/wet to dry and moving the range start knob allows for controllable sample scrubbing, essentially. :+1:

WARNING: doing the above with loop mode set to forward and start and end points set to the same spot, while trying to swap out the sample with the pattern playing, pretty much bricked my office computer, lol. New install with linux instead of macOS is functional now… beware!

1 Like

In my perspective, if it’s not auto-triggering the sample multiple times within the instrument it’s not truly native per say. But it’s just a personal coined boundary of what constitute “native” granularity and you don’t have to agree with me on that.

And yes, anything that requires you to execute many of the samples from an instrument within a small amount of time will bogged your PC down. I don’t know what’s the exact signs or factors that can improve multiple sample loads, but I know decreasing the Volume Modularity Chain’s Release value will improve load. I’ve done some granularity like native instruments and may require a beefy CPU/RAM/MOBO to handle the demand. Thus making it more obvious the need for efficient, true native granularity in Renoise’s native instrument engine is more apparent since there’s not just me or you who are interested in it.

3 Likes

It’s just nice that Renoise can get close. I agree with what you’re saying, though (as you know). @slujr put in an immense effort to get as close to true granular synthesis as possible within the confines of the engine. I’m happy that you’re speaking up about this though. The more we speak up, the more @taktik will hear. We are pesky flys! :slightly_smiling_face:

2 Likes

Have you checked out the •••ReGranulizer••• instrument? It does do that :slight_smile:
Generally, I haven’t found native granular techniques to be very cpu intensive, at least not the way I’ve done it with sxx commands in phrases. I think the per instrument limit of 12 simultaneous samples caps the cpu demand nicely.

In any case, it’s good fun to push the boundaries of what’s capable within renoise. Cheers. :beers:

I did check it out and it’s pretty cool stuff. What I’m trying to emphasize:

This current iteration instrument is heavily dependent on the phrases to not repeat. In turn, you’re restricting the key presses to be stuck in a single phrase.
image

Even if you enable repeater functionality for phrases you get this.
repeater_stuck_to_single_phrase

(May require you to open the gif in a secondary window/tab/download to see it clearly)
You’re still stuck using the same phrase when you’re holding the key. Look at the waveform on the left part of the screen and the phrase selection on the bottom right. Notice the phrase that’s activated (box with a yellow line). With this instrument I highly doubt there’s a way to achieve granularity in its current state.

If you want something intensive and somewhat has a granularity function it, I have something up that alley.
GRAND VIOLET.xrni (2.4 MB)

4 Likes

Oh, I agree. this phase mod instrument you’ve made is not super practical as a granular synth solution. definitely interesting if you fill your pattern (not phrase) with repeating notes on every line and tweak the knobs. As said earlier, 100% dry, the start range knob acts as a decent sample offset scrubber, which can have some good utility in a sound design session. I’ll check the grand violet patch out. fun seeing how other people problem solve. thanks!

2 Likes

Once again, a call for the capability of automating the LPB not via the pattern, but by some other means of controlling it. YES! This is granular. It’s great. It can only be edited via pattern commands affecting the entire pattern. ARGH!!! :smiley: C’mon, @taktik. Please? Please can we have some fully controllable granular capabilities for this beast of a DAW. Renoise. The best DAW (for me) :slight_smile:

3 Likes

SAVED MY DAY AND LIFE!! thnx

Related to this I was a little disappointed that global commands can’t be used in phrases! it would open many possibilities, everything minus the ZT command we could use, could use ZL00 or ZD to put “breaks” in phrases (like a phrase of phrases), randomize the Sxx or Zxx command to randomize between sections of variations instead of using the Yxx on a lot of columns within the phrase and freedom to use different tick per lines per pattern to get crazy arpeggios with Axx, etc.

i figured something like that out by myself about a year ago. i thought i was the only one using this technique but you made it all the way back in 2021
i tried mapping 88 samples to 88 different phrases and used a random lfo to modulate the macro phrase program but at some point, the computer (or renoise) started messing up what i had written into the phrases (note value), and it became too messy to really work. but it worked in the beginning, and it still works if i don’t use more than maybe 12 - 24 phrases. i don’t know why that is

but the thing is, if you want the samples to change fast (like on every line) you also have to have notes on every line, like C4, on every line in the pattern editor, and then you kind of get stuck to that grid, unless you do something like switching to the No Phrase in the macro once in a while with syncing some LFO’s, and it kind of works so you can change the grid. i had it working at some point