Simple functionality with Scott Pilgrim inspired visuals. I was just after a convenient way of using norns as a drum module with an external sequencer or drum pads.
Use the built-in kits or create your own based on the templates in lib.
Each sound has tune, decay, pan and amp/overdrive parameters.
Global sample length, filter, drive, compressor and (very) low-fi mode.
Note: The compression parameter is controlling the system compressor effect. If you turn it up then your settings in System>Audio won’t match what you’re really getting (the script takes over) until you manually adjust the settings in System.
Just tried this out today with a Boppad and it’s fantastic! The visuals are a real joy
One feature request would be a parameter to change the note each sound is mapped to as tweaking on the norns would be significantly easier than remapping the pad. Actually, in looking into how to do this, I now see it’s just defined in the config for each kit!
this is perfect for an idea/project I’ve had for a while. added LinnDrum and a few other kits very quickly (can share once they’re tightened up). thanks so much for this!
So I absolutely love this drum machine, it is my primary drum machine in my setup. I’d like to help implement an addition that will allow someone to modify kits from norns rather than having to edit the lua scripts manually.
My thinking on this is when the script loads, and a kit is selected, each of the drum voice pages also shows the filename of the sample being used at the top of the screen, this can be selected and a list of the samples can be scrolled through and selected replacing the sample in that slot.
Then the other item would be a page added at the bottom of the list to load/save the kit.
I haven’t done any coding with lua or for norns so this seems like a good way to learn! Let me know what you think.
Totally doable of course. Right now the kit scripts also define MIDI mapping and choke groups so that’s something to consider. For reference (or maybe it’d suit your workflow better?) Timber Player has similar functionality.
Yeah awesome - I really like how drum room organizes the sounds though as opposed to timber which I haven’t played with a whole lot. I was thinking that it would be much better to have a folder full of favorite samples organized into each of the categories (kick, snare, hh, etc). Then while playing you can scroll through the samples and find one that fits best and adjust the other parameters as well.
My workflow has the samples triggered externally using a drum sequencer, so the same key mappings and choke groups mostly apply across the kits.
Then the kit management can be a collection of the selected samples in sets that you can name/save/export, etc.
Just installed this on my Norns and it’s absolutely amazing. This, plus sending assigned CCs with my Pyramid, feels a lot like the way folks have talked about Digitakt’s sequencer!
Hi all! I’ve used this in the past and it’s absolutely wonderful, but I tried it again recently and I’m having some problems:
On script startup, everything works find across the CR-78 kit. When I try to change the kit only the Kick sound is working for all the kits. If I then get back to CR-78 all sounds are gone except for the Kick.
Looking at maiden REPL I can see this:
lua:
/home/we/norns/lua/core/paramset.lua:122: paramset.add() error: id 'tune_0' is already used by another parameter
stack traceback:
[C]: in function 'error'
/home/we/norns/lua/core/paramset.lua:122: in function 'core/paramset.add'
/home/we/dust/code/drum_room/drum_room.lua:140: in upvalue 'set_kit'
/home/we/dust/code/drum_room/drum_room.lua:958: in field 'action'
/home/we/norns/lua/core/params/option.lua:52: in function 'core/params/option.bang'
/home/we/norns/lua/core/params/option.lua:37: in function 'core/params/option.set'
(...tail calls...)
/home/we/dust/code/drum_room/drum_room.lua:471: in method 'key'
/home/we/dust/code/drum_room/drum_room.lua:332: in function 'key'
/home/we/norns/lua/core/menu.lua:143: in function </home/we/norns/lua/core/menu.lua:120>
lua:
/home/we/norns/lua/core/paramset.lua:270: attempt to index a nil value (local 'param')
stack traceback:
/home/we/norns/lua/core/paramset.lua:270: in function 'core/paramset.get'
/home/we/dust/code/drum_room/drum_room.lua:204: in upvalue 'sample_loaded'
/home/we/dust/code/drum_room/drum_room.lua:349: in function 'core/osc.event'
/home/we/norns/lua/core/osc.lua:102: in function </home/we/norns/lua/core/osc.lua:100>
I’m not sure but maybe this was caused by an update? I think this just started happening recently.
A note for any future person having problems - drum room would not respond to midi after installing until I restarted norns. This is of course what is instructed but for most scripts I never do it. Not sure if this was the true cause of my problem but I thought this might help someone.