two looped sequences. the first sounds notes, the second transposes the notes of the first. loop lengths can change. sequences can be morphed and randomized. configurable scales and root notes.
the polyperc engine is included— a simple polyphonic filtered decaying square wave. parameters are all controllable. a vari-speed delay with feedback is on the end.
awake is a super-minimal reduction of kria.
Requirements
norns (NOTE: 2.0 only, coming later this week!)
grid (optional)
MIDI sync (optional)
Documentation
E1 changes the mode. K1+? means hold K1 then push ?.
STEP
* E2 navigates position, E3 changes position.
* K2 toggles the sequence to edit. K1+K2 clears all steps.
* K3 morphs the current sequence. K1+K3 randomizes.
LOOP
* E2/E3 set loop length.
* K2 resets to play to zero. K3 jumps to random position.
SOUND
* E2/E3 adjust selected parameter. K2/K3 move selector.
OPTION
* E2 adjusts BPM. K1+E2 change division.
* E3 changes root note. K1+E3 selects scale.
Download
get it in maiden catalog or ;install https://github.com/tehn/awake
I had not tried MIDI learn yet, so I gave that a test tonight with awake.
A couple of issues:
setting a midi control knob on cutoff only gives me a range between 50hz and 171.55hz. If I change it higher with the encoder, the midi knob will always go back to that low range.
if I try to learn for bpm, (learn) comes up, but after sending a midi CC nothing shows in the right column to confirm which CC got mapped. It does not seem that the mapping “sticks”. Same goes for everything in the top group of params.
also some errors with beatclock changing from internal to external (see below)
stack traceback
lua:
/home/we/norns/lua/lib/beatclock.lua:115: attempt to call a nil value (field 'on_select_external')
stack traceback:
/home/we/norns/lua/lib/beatclock.lua:115: in function 'beatclock.clock_source_change'
/home/we/norns/lua/lib/beatclock.lua:126: in field 'action'
/home/we/norns/lua/core/params/option.lua:48: in function 'core/params/option.bang'
/home/we/norns/lua/core/params/option.lua:35: in function 'core/params/option.set'
/home/we/norns/lua/core/params/option.lua:40: in function 'core/params/option.delta'
/home/we/norns/lua/core/paramset.lua:166: in function 'core/paramset.delta'
/home/we/norns/lua/core/menu.lua:552: in function 'fileselect.enc_restore'
/home/we/norns/lua/core/menu.lua:137: in function 'core/encoders.callback'
/home/we/norns/lua/core/encoders.lua:57: in function 'core/encoders.process'
lua:
/home/we/norns/lua/lib/beatclock.lua:115: attempt to call a nil value (field 'on_select_external')
stack traceback:
/home/we/norns/lua/lib/beatclock.lua:115: in function 'beatclock.clock_source_change'
/home/we/norns/lua/lib/beatclock.lua:126: in field 'action'
/home/we/norns/lua/core/params/option.lua:48: in function 'core/params/option.bang'
/home/we/norns/lua/core/params/option.lua:35: in function 'core/params/option.set'
/home/we/norns/lua/core/params/option.lua:40: in function 'core/params/option.delta'
/home/we/norns/lua/core/paramset.lua:166: in function 'core/paramset.delta'
/home/we/norns/lua/core/menu.lua:552: in function 'fileselect.enc_restore'
/home/we/norns/lua/core/menu.lua:137: in function 'core/encoders.callback'
/home/we/norns/lua/core/encoders.lua:57: in function 'core/encoders.process'
lua:
/home/we/norns/lua/lib/beatclock.lua:115: attempt to call a nil value (field 'on_select_external')
stack traceback:
/home/we/norns/lua/lib/beatclock.lua:115: in function 'beatclock.clock_source_change'
/home/we/norns/lua/lib/beatclock.lua:126: in field 'action'
/home/we/norns/lua/core/params/option.lua:48: in function 'core/params/option.bang'
/home/we/norns/lua/core/params/option.lua:35: in function 'core/params/option.set'
/home/we/norns/lua/core/params/option.lua:40: in function 'core/params/option.delta'
/home/we/norns/lua/core/paramset.lua:166: in function 'core/paramset.delta'
/home/we/norns/lua/core/menu.lua:552: in function 'fileselect.enc_restore'
/home/we/norns/lua/core/menu.lua:137: in function 'core/encoders.callback'
/home/we/norns/lua/core/encoders.lua:57: in function 'core/encoders.process'
I am not sure I am understanding how MIDI is implemented in Awake:
Is it just sync?
If so: is it for Norns to sync to external device or the other way around?
Does Awake send MIDI value of the notes played?
If so, how do I set this up?
Selecting a CV-Pal in MIDI devices produces no effects for me.
I connected it directly to my prophet rev2 via usb, set the appropriate midi device number and it worked with no problems. Have you checked that cvpal is identified in system/devices/midi? Have you specified in Awake’s Params the correct number? Probably yes, but it’s the first thing I’d check.
Hi. Should the parameters, like step length and note length, be able to learn from my 16n? Right now they’re not. (For contrast, Moln was able to learn from my 16n). I’m on 2.0.1. Thanks!
right now parameter mapping only works for the “control” param type whereas the step/note lengths are “numbers”.
we’re working on an overhaul of the param menu which will include adding various mapping functionality.
so in short, no it won’t work until the update. but you could write a custom mapping function in the script itself quite easily (the studies will impart enough knowledge to do this)