Slicer for Orac

I heard someone what a slicer for Orac :slight_smile:

here it is

1 recorder, 4 players…
playback on time divisions, alter playback rate
have fun…

instructions :
trig div = trigger division off master clock, 0 = none
play rate = playback rate, negative = reverse
slide = select slice , 0 = random

slicer also accepts key or note input , octave = which player is targeted (60=1, 72 = 2 etc)

this is based on slicerec/sliceplay from the SliceJockey by

http://www.katjaas.nl/slicejockey/slicejockey.html

note: this will be rolled into the ‘factory’ fx on next orac release.

9 Likes

note: you can play on the keyboard, when time division = 0; (off)

tbh, wasn’t quite sure the best way to deal with the keyboard, given i didnt not want to fix it to player 1,
rather allow it to use any player… suggestions in this area welcome :wink:

tip: remember you can sequence slice selection and triggers … by putting a sequence in front of this FX :wink: (again select time div =0)

tip2: in orac you can use as many slicers as your cpu and memory allow, each has it owns record buffer and 4 players.

3 Likes

What a great addition! Thanks man - i was a big fan of the morphagene patch and this already has potential to be more powerful.
Some ideas:
-I think the keyboard implementation is very sensible, suitable for using other sequencers to drive the players - though it could make use of other octaves too so more than one note would trigger the same 4 players. This might make for more interesting patterns using sequencers such as polybeats.
-Option to pitch up as well as down would be very useful (i’ve already changed the first two ‘rate’ numbers from 100 to 200 in each page in my json file to add this, though precision seems a bit of an issue)
-Aux/footswitch could be used as a 0/1 control for letting the audio in - not sure if a gate or toggle is better though, an option to choose would be best if possible.

-Also a master enable/disable all slices toggle knob would be useful.

-Mixer page for the 4 players would be interesting and quite useful.

Question: what are the functions of the compensate and max speed parameters?

Love it! Thanks again :pray:

2 Likes

ok, 1.1 is up :slight_smile:

changes

  • mixer page to control gain of each player
  • note/key trigs slice always (even if trig div is active), octave selects player (60=first)
  • audio input - live/frozen , selected by aux and footswitch
  • extended playback range to -200 to +200
  • enabled has been removed (see below)

I didn’t really like enable, and the way it would interact with rate and they note input, so Ive now remove
now, if you set DIV=0, then player is only going to play input if you send it notes… you also have the option to now mute using mixer page
disable/enable all suggestion - you can easily mute all via the mixer page.

@Wannop , from slicerec help file …
compensate - increases volume for slower sounds,
min speed - will clip minimum speed

… honestly, Ive not seen much use for them, Im thinking I might remove, but i need to test with some other input sources to see if they are useful.

interrupt should be useful, id live to test that out better.

seems pretty cool now, only thing I might change is the div behaviour.
its currently a simple div of the 24 clock we use, I’ll possibly extend this to 96, so that I can support 1/16th and 1/32nd… but that also means, I need to change to explicitly support certain divs, rather than just simple modulo. I’ll guess i can do that as some kind of abstraction, so that I can then use in other patches.

3 Likes

Fantastic!

Amazing patch! Thank you for making this @thetechnobear

1 Like

@thetechnobear thanks a lot for this and your general contribution!! Just got the M and it’s so much fun!!!

1 Like

Love it, @thetechnobear ! I’ve a few questions though. As usual… :wink:

  1. How do I trigger Players other than 1 and 2? ATM Player 1 seems to use the first 8 keys of the lower octawe of the Organelle keyboard, and Player 2 uses the first 8 keys of the upper octave. Or, come to think of it, perhaps, the other two Players require an external keyboard?

  2. Is there a way to control the length of the buffer/recording and/or slices? Some sort of start recording / stop recording thingy?

  3. What does Interrupt mean?

  4. I love it :slight_smile:

Cheers,

Lukasz

1 Like

Player 3 and 4 you can trigger via a sequencer

Buffer is currently fixed, as is slice size, and number of slices.
I’ll need to check sliverec/play to see if they can be more dynamic ( example patch shows them fixed)

Interrupt , I believe about retrig behavior
( you can look at help file on slicerec and the parameters are explained well there)

1 Like

Thanks for responding. I’m not complaining, it only seems I am… :wink: The Interrupt bit I figured out after posting my question. I looked at the help file as you had suggested earlier in the thread, but it didn’t answer my questions – if the answers are there, I’m too thick to understand them.

As the buffer is fixed, do you know what’s its size (in terms of seconds/miliseconds/beat divisions)? And the slice size? That’s the only thing missing for me to get my head around the patch – which is super fun. Thanks.

Cheers,
Lukasz

k, so my understanding of these are from the help docs… as really this is module is just a wrapper around these objects :slight_smile:

when the help doc talks of cue-points these can be considered to be slices points.
so my understanding of interrupt is…
0 = continue playing slice, then switch
1 = on re-trig, stop playback and immediately play new one
-1 = only re-trig on reverse, don’t interrupt forward (no idea why this is useful :wink: )

k, I will point out, literally speaking the interrupt doc says… don’t accept new cuepoints,
so that might mean 0 will ignore an retrig for a new cue point.
but honestly, Id have to play with it to see if how ‘what it says’ translates to how you can use it.

also… you might want to consider the scenario (and usefulness of interrupt?!) of a continuous clock trig might be different to manual triggering.

also I should highlight when we talked about length, part of slicerec functionality is that it is using a threshold level to start/pause recording… (using an envelope follower) - these are the so called ‘cue-points’ or what we are thinking of slicing
… so I guess we can consider this as auto record and slice

this is rather different to an audio recorder, where we record manually and then slice it manually either with fixed slices or movable start/end points.

its interesting to play with the implications of this, on different audio sources.

note;, you can expose the slice rec parameters to the UI, by adding them to a page.
but I decided not to expose, as I wasn’t entirely sure how they worked, nor how to explain that to others.
… so they’d end up as being confusing parameters that no one knew what to do with…
if you feel different, have a play … and let me know how they work and I can add them.

1 Like

Thanks again! I reckoned the recording and slicing is done automatically on transients. I was wondering about the maximum slice size (and therefore the whole buffer size), but I guess I’ll just record something of a fixed length, and see myself :slight_smile: I’ll post my results here, of course.

I’m not expecting a 100% predictable behaviour (I’ve got no time for predictability :slight_smile: ), but a few reference points for the length would be useful. Thanks for your patience, and for preparing this patch, Mark!

Cheers,
Lukasz

My not-so-scientific tests have shown that the buffer seems to listen for transients for 20 seconds at best, maybe a few seconds more. At least that’s the longest I managed to strech my 8 samples apart (i.e. playing them a few seconds apart, and the total time was approx. 20 seconds) for it to be able to fill all 8 slice slots. If the 8 transients occur earlier, then the patch fills the 8 slice slots faster. I hope I’m describing it clearly.

Cheers,
Lukasz

1 Like

Interesting , i thought looking at the code - it’d wait indefinitely for it to cross thresholds, and that each slice is independent.
( hence the talk of ‘pausing recording’)

The table thats allocated looked like it might be enough for a little less that 6 seconds IF it’s only used for sample storage ( which might not be the case!)

It’s an interesting approach - but now I’d quite like a simpler one with a continuous buffer - with perhaps moveable slice points :slight_smile:

1 Like

Hello there, just downloaded the patch. Also just downloaded Orac 2.0
Is this a patch for Orac 1 or 2? I can’t seem to get it running on 2. Might be me, as I’m new to Orac.
I can load it in a slot, I can see inout coming in, but nothing is happening. Is there anything else I need to do? Been looking demo’s the last 2 hours but I can’t find what I’m doing wrong.

Ok. I have just found out that it works behind the euclidean drums demo patch. Is this supposed to work as the original slice jockey with live input? I must be doing something wrong then.

Is any audio getting into the module? It’s an effect remember not a synth. You’ll need to place it after another sound producing module OR turn up audio in L and R on chain 1(or whatever #) router page.

I can see the audio on the input meter on the screen. But I can’t route it into Orac for some reason. Bypass on or off makes no difference. I can load synths and put effects after them and everything works fine. But I can’t get any audio in.
Where do I turn up audio in the chain? The only thing I get if I select the router is parallel/serial. If I click parallel, I get bypass off, gain 100%, thru gain 100% and note thru off. Where can I find the router page?

Is anybody using orac with an external sound source that can point me in the right direction?
The audio in is working outside orac, and orac itself is also working properly as far as I can tell. Just can’t get the audio in to work with orac.

found it! complicated this whole orac bussiness but extremely rewarding! Thanks Mark! Fantastic job!

2 Likes