In otis the sc input level and sc engine level parameters are to set the volume of input to softcut. I will try to write up a more detailed description of all the parameters and add it to the top post here. tbh, most of my script docs could likely use some love :sweat_smile:

1 Like

Thank you for clarifying that! I really appreciate it~~
And despite the above questions, I really love the script. It has made my first few weeks with Norns a true pleasure. Thank you!!


otis :dog2: gloops :poop:

really love the decimator ugen + softcut combo


Hi Mat!

Is there a way to force the 1speed and 2speed LFO targets to respect the “octaves” speed param? For instance, if I set otis to constrain speed changes to octaves (which is usually what I want), but then target the speed param with an lfo, right now the speed ramps smoothly at normal intervals. Would be great if the lfo snapped to octaves as well, kind of like turning the “dir” knob on a Count to Five.

Does that make sense?


That does make sense, and it’s something that I have been meaning to implement for a long time… just somehow never got to it :sweat_smile: :sweat_smile: :sweat_smile:

I’ll see what I can do :slight_smile:


20 chars of seconded!

adding onto to this, is there any way for midi cc to respect the octaves parameter as well?

i might dive into the code but i do not have experience with lua so i do not know how useful i will be.

1 Like

there are definitely ways to do this! i’ve been slowly working on an update :sweat_smile: i’ll add this to the list :grin:


I just read that you can use Otis with other scripts. I couldn’t find details above? Can you please direct my reading TY again @Justmat

1 Like

no worries of course and no rush! i am perfectly capable of using the native norns knobs for now.

1 Like

I will edit this with a better answer tomorrow.

Until then, check out bounds or oats for examples :slight_smile: (look for references to tlps for the otis looping setup)


Thanks heaps. I had a play with these fantastic scripts. I see they are packaged at your end and I remember some discussion of supercollider and softcut scripts being used simultaneously which it appears you are doing here

So, otis includes a file called tlps.lua (two loops) that sets up all the softcut stuff. It’s super easy to drop this into other scripts. just add a

local sc = include "otis/lib/tlps"

at the top of your script, and put a


in your init function. This will get you otis style softcut setup and parameters. You’ll still need to code in encoder/key interactions if you want them.

Oats is a good example of using otis with a supercollider engine. I basically just mashed boingg and otis together, UI’s and all :slight_smile:


Sharing a modification I’ve been using that adds monobright 64 Grid control… tested in a Zoom ambient jam last night :slight_smile:

64.lua (15.3 KB)

Controls are:

R r . F S . . C
D . . . . . . I
. . . . . . . .
. . . . . . . .
R r . F S . . C
D . . . . . . I
. . 1 2 3 4 . .
. . o o o o . .
  • R record enable
  • r record disable
  • F flip
  • S skip
  • C clear
  • D decrease rate (follows octave/free setting, would be nice to be able to hold down for free mode)
  • I increase rate
  • 1234 enable LFO at index
  • o disable LFO at index

Loop L is at the top, Loop R is below.

All touchable buttons are lit, and the LFO/record indicators light up depending on state.


Being a former coco owner I can say there is certainly some of that magic in this patch!!! wow.

Ive wanted to start a coco thread and somehow missed this patch until today. Thanks so much!


Whenever I’m in a situation where I’ve got only a handful of gear and I’m in a bit of a rush to record/perform something (i.e. can’t really begin preparing a lot of things beforehand) I find Otis to be the ultimate tool to turns those sessions way better.

I’ve been traveling around Finland a lot lately with small amount of gear, so I’ve decided to film some small improvisations here and there. Here’s one where I play hammered dulcimer, reindeer bells, Cocoquantus and Otis:

And I think that Cocoquantus and Otis complement each other really well :slight_smile:


I found the SK-5 that was mine as a child at my parents’ house today. Had fun doing a little Otis jam with it.


I just noticed that Otis ignores monitor level and always passes input to output. Is it by design or some kind of bug?

I’ll chick it out today, hopefully. :slight_smile:

you could try adjusting the various input levels, sc engine level and sc input level to see if that gets you what you want.

It silences everything. Could not find a way to hear just the loop :slight_smile: