Cells! Preview

Looks great! :)
If I understand it right, you can select per track a sample bank, and each sample of it is ready for playback?

In french : C’est de la grosse tuerie :w00t: :w00t: :w00t:

I’ll be able to use this in Renoise :

Each time I come on the forum, I discover Renoise potential…Not only a tracker, but a complete and powerfull music workstation, nice users, nice devs, and everything ! Even the software price is cool :lol:

Thank you ;) If any tester needed, I’ll try to help.

@cie: For what I understand, you can do what you’re speaking about. The nice features are that samples are launched synched to the main beat, and the fact you can (again, if I understand correctly) cue (with a dj headphone) preview “slices” to create cool live sessions. Adding other tools, features and mappings already in Renoise, you’ve got something quite ultimate :lol:

This is huh…wow…

I appreciate this is jumping the gun a bit but I had a quick thought, the ohm64 / ohmrgb looks like a very good candidate for a Midi controller

http://lividinstruments.com/hardware_ohmrgb.php

Looks very promising :wink:

Are you using the same method as Gridpie http://tools.renoise.com/tools/grid-pie
= writting patterns dynamically in a empty seq line?

will you incorporate the slicing of the loops? (the trigger , mute, reverse slicing that is) - or has that been ditched?

are those drop down menus (which seem to have a song-name) based on subfolders, like the resynth2’s wave-table-loader?

p.s. how about opening up a youtube account and posting videos with status “unlisted” so they won’t be searchable. box.* seems really clunky

Congratulations, MXB!
You have completed Renoise.
Highscore 999999999999999999

Roll Credits

Thanks for all the feedback!

As people have noticed, there is no sample manipulation in this tool. Essentially the old Cells Device test will split into a dedicated performance tool (Cells!) and the sample manipulation will be left for another tool.

A quick overview of the tool:

  • 8 tracks for loop playback:

  • Each track has a drop down selector to select an instrument

  • The cells are populated with samples within the instrument that are beat synced and autoseek enabled (max length of 64 beats per cell at the moment)

  • The cells and drop down selector update in real-time so you can load/unload instruments of samples to keep memory usage sensible

  • There is a low pass filter per track with cutoff and resonance controls

  • There is a bass kill per track to avoid muddled bass when mixing

  • There is volume and panning per track

  • Each track can be sent to ‘A’ or ‘B’

  • Each track has a mute button and a cue button which sends that tracks audio to the seperate cut audio out device

There is a crossfader to mix between ‘A’ and ‘B’
There are main out and cue out volume controls
Cue and main output device output selectors
BPM control (which all loops sync to due to being beat-sync enabled)
Trigger quantize value (4 beats, 2 beats, 1 beat, 1/2 beat, 1/4 beat or 1/8 beat)
Beat position indicator

More features to come along with extensive midi mapping possibilities to cater for a whole range of different midi controllers.

the pattern-efect 0501 will be used in a future version which can handle longer-than-pattern-length-samples, right?

I can’t get it to work right.

Create a 16 beat loop, sync to 128 lines and enable auto beatsync & autoseek.

Create a 8 beat long pattern (0x40 lines @ 8 LPB) play the sample on line one with 0501 in the effect column and start playback of the looped pattern.

It will work most of the time, but sometimes stops for one iteration of the loop. However, the gap cannot be predicted.

they will work if the sample is exact. unfortunately, pattern-sync-recorded samples are not exact, so i have to chop a bit at the end to make sure 0501 works and that they toggle. also, if there’s a really short, 2 beat loop sample, you have to automatically enable it to loop for it to work.
it would be nice to know how to use the sample recording api function to get “fully loopable” wavefiles which will always play.
the gap is interesting.

Hmm…if the sample is beat-synced, it could also be that a volume fadeout / envelope is interfering. Have you tried with envelope-less sounds?


i can verify that volume fadeout/envelope does not interfere at all.
(<- misstatement) i’ve been using a script which samples pattern sync looped samples and outputs 0501 and the instrument number + basenote to the notecolumn. the patternsync recording is not perfect, and thus one has to cut out a small snippet out of the end of the sample to get it to re-toggle. nothing to do with envelopes (no envelopes are being used at all, ever)

so what im trying to say is that when one just outputs basenote, instrument number and 0501, and uses pattern-sync=ON recording, depending on how large the recorded sample is, one needs to remove a bit from the end of the sample to make it work. this might have something to do with record latency compensation or something, but if i knew how to chop out the needless bit to make the 0501 toggled samples loop without losing time in first recording a sample, then copying the same sample, removing a bit from at the end and then writing that sample and replacing the current recording with the edited chopped down sample (this is all so very, very slow), i would.

Example 05xx loop test file here: download

  • The pattern is 16 lines long @ 8 lpb
  • A single sample is triggered on the first line with 0501 as an effect
  • Pattern loop is enabled
  • The sample is beat synced to 32 lines
  • The sample has no vol/pan/pitch/cut/res envelopes or lfos
  • Autoseek is enabled for the sample

Start playback and occasionally it will just not trigger. Renoise bug?

The gap cannot be larger than 10msecs if you are relying on notifiers. But you can then indeed miss a full cycle if your triggering point falls within this gap.

that sample sync=32 and patternlength = 16 row should totally take care of when the sample triggers, i.e. on every 3rd repeat of the 16 row pattern during playback. i ended up not using Sync-mode because i might sample 4 minutes o fsomething and then have it running continuously.

@mxb: There seem to be something fishy going on…I get the gaps too. Like, every 3rd time or so.
My Recorder application, which is similar to this, is based around 05xx and and pattern-sync’ed recordings. Makes me wonder why that one is working?
Edit: I’d better re-check.

Enabling autofade seems to make it work reliably?

If this solves the problem it makes the code a heck of a lot simpler (And thus faster, better, harder, stronger, etc)

Indeed it does!! That’s workaround, I guess.

I would call this more of a quirk than a bug. It’s to do with how the glide command works, and also with how the audio engine itself works.

If you trigger a note with a glide command and there are no other previous notes playing, then the sample will begin playing from the start.

If you trigger a note with a glide command and there is an existing note playing, then it will attempt to glide the previous existing note to the new note. The sample will not be retriggered in this case, and will instead continue playing from its last known position at the time the new note was reached.

What’s happening here is that you have a sample that is a certain length, and you’re telling Renoise to auto-sync it to some other length, and you’re running at a tempo that is not perfectly divisible by the sample rate, etc. There will be some numerical inaccuracy that gradually creeps in here.

Every once in a while, you’re going to get a tiny difference with the sample’s playback position, such that when your pattern wraps back around to the start Renoise is still actually processing the last 1 or 2 samples from the old note. When this happens, it treats the C-4 0501 note with the ‘continue gliding’ behaviour instead of the ‘start a new note’ behaviour. The note at the start of the pattern will continue playing those last 1 or 2 samples, then it will simply run out of sample data and the note will end prematurely.

</nerdy shit>

Autofade may help here, but I think a better solution is to simply enable looping on the sample itself. This will effectively ensure that the note never ends. I’ve tested this with your example song and it’s working perfectly; haven’t had a single problem after about 2-3 minutes of constant playback.