This is great!! I have a few ideas for PRs too.
I love it so far

5 Likes

(sample (rnd 0 20))
(bpm 2000)
(note (rnd 0 127))

:slight_smile:

7 Likes

i have a few questions that im not sure about

im trying to scrub a longish sample using this command but couldn’t get any movement in numbers on the start time. Is there something else that should be added to this command? I would like to play about with the sample parameters extras more but couldn’t work out how to do it

How does load and save pattern work? Is that a preset or a pattern of all 4 channels? I’d like to be able randomly flip through different patterns. Is that done in the global text box ~?

Can you give me an “ever” example? Does this mean every x cycle do something? eg play 4 times, randomly jump. Can you use it like a song mode? eg play pattern 1 8 times, play pattern 2 8 times?

I’ve just made a few fixes for control commands so pos and others are now working as intended. :upside_down_face:

load/save, called from within script cell or repl acts almost as ones from params menu, except for not loading/saving sample params.

It requires a bit of setup for randomised pattern switches -

  • save a few patterns with integer names - 1, 2, 3, 4
  • place at the end of each pattern (load (rnd 1 4))
  • something like song mode is also possible with (ever 2 (load (rnd 1 4)))
  • not tested on high bpm :smile:
1 Like

the load/save patterns is working great and its good to be able to get access to the sample params stuff now - im using some filter modulation and sample stretch. And sample scrub works great also - thankyou!

1 Like

I really love this script so far, but how can I call functions from a pattern?

Each third cell can store a script. Place cursor on it and press Enter to open text editor, Shift+Enter to save, Esc to close

3 Likes

Thank you very much, now it’s clear

This is excellent but am getting error codes when trying to use shift and up/down to whizz between samples in parameters page:-

stack traceback:
/home/we/dust/code/nisp/NISP.lua:79: in field ‘event’
/home/we/norns/lua/core/hid.lua:145: in function </home/we/norns/lua/core/hid.lua:135>
lua: /home/we/dust/code/nisp/NISP.lua:81: attempt to call a nil value (field ‘enc’)
stack traceback:
/home/we/dust/code/nisp/NISP.lua:81: in field ‘event’
/home/we/norns/lua/core/hid.lua:145: in function </home/we/norns/lua/core/hid.lua:135>
lua: /home/we/dust/code/nisp/NISP.lua:79: attempt to call a nil value (field ‘enc’)

Hello

any idea why this : (qlt 2) is not working?

lua:
/home/we/norns/lua/core/paramset.lua:195: invalid paramset index: quality_00
stack traceback:
[C]: in function 'error'
/home/we/norns/lua/core/paramset.lua:195: in function 'core/paramset.lookup_param'
/home/we/norns/lua/core/paramset.lua:142: in function 'core/paramset.set'
/home/we/dust/code/nisp/lib/_corelib.lua:142: in function </home/we/dust/code/nisp/lib/_corelib.lua:138>
(...tail calls...)
/home/we/dust/code/nisp/lib/lisp.lua:84: in field 'collect'
/home/we/dust/code/nisp/lib/lisp.lua:118: in field 'eval'
/home/we/dust/code/nisp/lib/lisp.lua:165: in field 'run'
/home/we/dust/code/nisp/lib/tracker.lua:66: in field 'evaluate'
/home/we/dust/code/nisp/lib/tracker.lua:88: in field 'exec'
/home/we/dust/code/nisp/lib/lisp.lua:59: in field 'on_step'
/home/we/norns/lua/lib/beatclock.lua:70: in function 'beatclock.advance_step'
/home/we/norns/lua/lib/beatclock.lua:76: in function 'beatclock.tick'
/home/we/norns/lua/lib/beatclock.lua:22: in field 'event'
/home/we/norns/lua/core/metro.lua:165: in function </home/we/norns/lua/core/metro.lua:162>
1 Like

Strtch (stretch) is actually strch if anyone was wondering :slight_smile:

is there a way to do probability with existing code via rnd? I guess a random blank sample selection would be one way?

there is a special op for not playing step - halt, you can combine it with ever or smth :slight_smile:

yeah, silly typo. will fix

this is fixed

1 Like

Is there a way to randomise the number of steps only in one column ? Something like (length A (rnd 1 8)) ? That would be great . Cheers!!

Just started messing around with Nisp today. This is wild. I need to get my sample library into an actual sample library and I can see this being a really fun way to do stuff.

(are there full trackers out there that have functions like this?)

7 Likes

neato noiz!
and big PROPS for Soul Coughing!
i saw them in a small club here in H-town a long time ago.

get onto the BUS…that will take you back to Beelzebub.

1 Like

This is lovely. I’m having so much fun!

Some thoughts after a night of jamming with this.

It would be great if there would be variables for the encoders and the buttons. If I can dream, even MIDI mappable variables.

Navigating the params page is a bit tricky when there’s a lot of samples. A jump shortcut from a sample to the next one would be nice. I thought shift + up/down did this but apparently it’s for sample selection.

If I have a pattern length of 17, and at 17 I have a (jmp 1), the playhead appears to start from row 1, but the first sample that gets played is from 2, and not from 1. So a jump to 1 is practically jump to 2. Is this how the logic should go?

I’ll definitely try hacking on this at some point myself. I see this as a beginning of a beautiful friendship. :heart_eyes:

this should work across all params page

hmm, try (jmp 0)?

need to take a look, havent really used nisp myself :upside_down_face:

2 Likes

@its_your_bedtime What is the best way to retrigger / note repeat the same cell for stuttering? Ideally want to retrigger and random the stutter and hold a cell for x amount of time.

Here’s some Nisp

1 Like