this norns script creates sequences of samples from a tape. you can load any tape and splice it into up to 26 samples (named a-z). samples can then be patterned into 16-subdivided measures. patterns can then be chained together.
this script was a hard one to make because at a certain point i kept getting caught up playing with for hours instead of making it “user friendly.” let me know if you find things to improve!
this script builds off others. it is inspired a lot from ideas in glitchlets (no realtime here) and a lot of code ideas from @mattbiddulph’s exquisite beets (initially i forked beets but i didn’t want to ruin the code with my hacks). also inspiration from the po-33. and, it is inspired by @csboling’s beautiful waveform renderings in the latest update.
added a tutorial (up top) because the controls are a little funky. open to ideas on streamlining it.
@xmacex of course amen break lol the waveform visualization basically came from seeing the db-force vst for the amen break and thinking can norns do that??
@fourhoarder same, had a bunch of 2-4 minute tapes that i wanted to splice up.
introduced a small update (v0.1.2) to make things a little more responsive.
@mattlowery can you explain this a little more? i don’t do any modular and crow itself is still mysterious to me. do you mean to listen to the two crow inputs and set the play position based on one of the crow voltages (“sweeping the buffer”?) as well as starting/stopping playing based on the other crow voltage changes? i’m really happy to try implementing it just need more of an idea what i’m doing
Hi. This script looks awesome, but I’m getting an error init when trying to launch it, from both the norns and maiden. Is there something I’m missing ? Thanks
Now the script loads, but I can’t load a sample! I’m getting this in maiden:
lua: /home/we/norns/lua/core/screen.lua:215: bad argument #1 to ‘screen_text_extents’ (string expected, got nil)
stack traceback:
[C]: in field ‘screen_text_extents’
/home/we/norns/lua/core/screen.lua:215: in field ‘screen_text_right’
/home/we/norns/lua/core/screen.lua:158: in function ‘core/screen.text_right’
/home/we/norns/lua/core/menu/params.lua:406: in function ‘core/menu/params.redraw’
/home/we/norns/lua/core/menu/params.lua:567: in field ‘event’
/home/we/norns/lua/core/metro.lua:169: in function </home/we/norns/lua/core/metro.lua:166>
This looks amazing but when I go in parameters and choose “save/load” it just hangs the whole parameters section. In Matron I see an endless stream of this sort of thing:
stack traceback:
[C]: in field 'screen_text_extents'
/home/we/norns/lua/core/screen.lua:215: in field 'screen_text_right'
/home/we/norns/lua/core/screen.lua:158: in function 'core/screen.text_right'
/home/we/norns/lua/core/menu/params.lua:406: in function 'core/menu/params.redraw'
/home/we/norns/lua/core/menu/params.lua:293: in function 'core/menu/params.enc'
/home/we/norns/lua/core/menu.lua:112: in function 'core/encoders.callback'
/home/we/norns/lua/core/encoders.lua:60: in function 'core/encoders.process'
lua: /home/we/norns/lua/core/screen.lua:215: bad argument #1 to 'screen_text_extents' (string expected, got nil)
I’m using a DIY norns shield and the latest update
@Cementimental@PerVildman i believe this error occurs when there are no files available to load so it has trouble being displayed. however, when you start abacus for the first time it automatically copies one file to a directory (~/dust/data/abacus) that can be loaded, so that should be able to prevent the error (i thought anyways).
if you can, try deleting and reinstalling this way:
later today/thisweek i will fix my lazy initialization with something that is more robust. sorry about that!
@cosmicsoundexplorer@mattlowery i feel more confident about the crow support with that explanation! one clarification: which of the following two scenarios do you envision for crow?
input 1 sets position along entire sample. input 2 gates (gate on = starts playing at position and continue playing until end of entire sample)
input 1 sets id of spliced sample (e.g. of the currently spliced ones, labeled A-Z). input 2 gate turns on/off playback of that sample (gate on = continous looping of current sample).