Grid based delay/FX sequencer/interstellar party starter

TimeParty is 7 step sequencers that each modulate a different delay parameter: “rate”, “time”, “feedback” and “autopan”, “filter cutoff,” “reverb,” “buffer position” Each sequencer has independent lengths and clock divisions.


Live Input
Crow Optional

See more complete docs on github

To Do:

  1. enable new voice when freezing buffer, so input signal is still delayed
  2. LFOs for shift, reverse, freeze
  3. presets


v1.0.0 - https://github.com/crimclark/timeparty/archive/master.zip


I was just hoping last week for more scripts to play with Softcut with! This looks like fun.


awesome! cant wait to get home and give it a whirl…

1 Like

Hope people enjoy! I added a little more context around how the modulation values currently work in the top post.

excited for this 20 chars!

1 Like

So I found a bug where the delay times weren’t updating properly when changing BPM, but it should be fixed now. Anyone who has already downloaded may want to re-download.

I’m getting an error when I select TimeParty:

# script load: /home/we/dust/code/TimeParty/timeparty.lua


script clear

including /home/we/dust/code/timeparty/lib/TapeDelay.lua

SCRIPT ERROR: load fail

cannot open /home/we/dust/code/timeparty/lib/TapeDelay.lua: No such file or directory
stack traceback:
/home/we/norns/lua/core/norns.lua:185: in function </home/we/norns/lua/core/norns.lua:185>
[C]: in function ‘dofile’
/home/we/norns/lua/core/startup.lua:43: in function ‘include’
/home/we/dust/code/TimeParty/timeparty.lua:11: in main chunk
[C]: in function ‘dofile’
/home/we/norns/lua/core/script.lua:140: in function </home/we/norns/lua/core/script.lua:140>
[C]: in function ‘xpcall’
/home/we/norns/lua/core/norns.lua:186: in field ‘try’
/home/we/norns/lua/core/script.lua:140: in function ‘core/script.load’
/home/we/norns/lua/core/menu.lua:423: in field ‘key’
/home/we/norns/lua/core/menu.lua:164: in function </home/we/norns/lua/core/menu.lua:141>

script clear

Are file paths case sensitive? Your code is looking for a folder named timeparty but your folder is named TimeParty. Just a thought.

Yes, was about to reply I think this is the issue. I named the github repo “TimeParty” without thinking about the paths. If you rename the directory to lowercase “timeparty” it should work. I’ll update the github link.

can confirm I had the same error with TimeParty folder that was resolved with changing folder name to all lowercase “timeparty”…

been having a party with this script for the last few, so haven’t even downloaded the update, but kudos on this one sir…fantastic work…:ok_hand::+1::muscle::metal:

1 Like

: ) very nice thank you!

1 Like

Played with this last evening, really nice little patch!


sounds great! thanks for sharing.

1 Like

made a lot of updates to this! I think it’s a much more interesting/versatile effect now. Would love for people to try it out and let me know what you think!


  1. Timeparty is now 7 sequencers (time, rate, feedback, reverb, filter cutoff, buffer position and autopan (thanks to the wonderful hnds lua LFO library from @justmat )

  2. Rate has “scale” modes in parameters and can now be set to “major” or “minor” (default is “perfect” intervals 1,4,5)

  3. You can shift the modulation values for each sequencer, which means it can now go from pretty slow to karplus-strong fast!

  4. Independent Sequencer directions - forward, reverse, pendulum, random, drunk

  5. Freeze buffer with key 2

  6. configurable crow inputs to toggle freeze, reverse, clock the sequencer, or sync the delay time. The “sync” code was basically copied verbatim from an example @zebra posted awhile back on how to implement a tap tempo, so thanks for that :slight_smile:

  7. The grid appearance/behavior is different, and roughly 95% more fun to look at.

  8. Fixed my math for the time sequencer which was way off.

I updated the top post with a hastily thrown together demo featuring a drum break and 2 simple synths recorded in one take through Timeparty.

More info in the readme on github. Enjoy!


Woah that’s interesting, hope to give it a go tomorow!

1 Like

Few issues on a fresh clone of the new version

# script init
### SCRIPT ERROR: init
/home/we/dust/code/timeparty/lib/delay.lua:33: attempt to call a nil value (field 'pan_slew_time')
stack traceback:
	/home/we/norns/lua/core/norns.lua:190: in field 'pan_slew_time'
	/home/we/dust/code/timeparty/lib/delay.lua:33: in field 'init'
	/home/we/dust/code/timeparty/timeparty.lua:60: in global 'init'
	/home/we/norns/lua/core/script.lua:74: in function 'core/script.init'
	[C]: in function 'xpcall'
	/home/we/norns/lua/core/norns.lua:191: in field 'try'
	/home/we/norns/lua/core/engine.lua:89: in function </home/we/norns/lua/core/engine.lua:88>
>> reading PMAP /home/we/dust/data/timeparty/timeparty.pmap

/home/we/dust/code/timeparty/timeparty.lua:67: attempt to index a nil value (global ‘crow’)

stack traceback:

/home/we/norns/lua/core/norns.lua:190: in metamethod '__index'

/home/we/dust/code/timeparty/timeparty.lua:67: in global 'init'

/home/we/norns/lua/core/script.lua:74: in function 'core/script.init'

[C]: in function 'xpcall'

/home/we/norns/lua/core/norns.lua:191: in field 'try'

/home/we/norns/lua/core/engine.lua:89: in function </home/we/norns/lua/core/engine.lua:88>

>> reading PMAP /home/we/dust/data/timeparty/timeparty.pmap

Is this because I don’t have a crow or is it because I need to update my norns version since crow was introduced?

First issue is something else, not sure.

Commented those bits out and things seem to be working now!

Yes, you’ll need to update your norns version since crow was introduced, but it should still work fine without crow after updating.

I think that should also fix the “pan_slew_time” error, since that’s a softcut parameter that was introduced in a newer version


Updating indeed fixed both issues, sorry for the false report and thank you for timeparty :slight_smile:


loved the initial release. can’t wait to give this a spin…

1 Like

congrats on the update! looking forward to playing with this tomorrow :partying_face:

it’s also super nice to see hnds in the wild! :smiling_face_with_three_hearts::smiling_face_with_three_hearts::smiling_face_with_three_hearts::smiling_face_with_three_hearts: