Rudiments: lofi percussion synth and sequencer for Norns

rudiments

an 8 voice lofi percussion synthesizer and sequencer…

Requirements

  • Norns/Fates

Download

Important: After downloading and installing, you must run RESET or SLEEP before running.

Download the latest release and copy files to ~/dust/code/rudiments.

Tutorial

Launching randomizes all voices, and drops you into a euclidean sequencer (playfair). Controls are as follows:

E1 select
E2 density
E3 length
K2 reset phase
K3 start/stop

K1 = ALT
ALT-E1 = bpm
ALT+K3 = randomize all voices

Use the PARAMS menu to configure voices manually, set up clock/sync behavior, MIDI map, and manage voice presets.

Voice Architecture

  • OSC: triangle/pulse wave with frequency control
  • ENV: exponential percussive envelope with decay control
    • affects OSC pitch (with amount control) and amplitude simultaneously
  • LFO: triangle/pulse wave with frequency control, can run into audio levels
    • affects OSC pitch (with amount control)

Developing

Thanks

Thanks to @tehn for writing playfair and @rbxbx for porting it to rudiments!

57 Likes

Some additional info…

The voice architecture was inspired by the Rakit Drum Synth, which was apparently inspired by the Boss PC-2/AMDEK PCK-100.

The sound is a little bleepy/lofi/weird :slight_smile: but I think can be fun for wonky IDM-y drums mixed with other sounds.

Edit: I also have very little idea what I’m doing in SuperCollider :wink: so I’m sure the code can be improved/optimized in some way.

3 Likes

Grid controls have been added. Emphasis is on ‘nudging’ the synth voice in a few ways & tapping in rhythms into the euclidean sequencer. Clear / reset sequence length provided to mute / roll before building up again. To get started, just tap on row 2. Taps in row 1 to clear.

New to Norns & Grid hacking so appreciate any feedback / suggestions. :slight_smile:

8 Likes

This is great, thanks. Are you planning to add the sequencer controls to the parameters menu so they can be mapped to MIDI CC?
Why does my osc1 LFO shape keep changing randomly?

The osc1 LFO shape change snuck in with my grid branch

you can revert it if you would like by setting

local accents = 0

Man, I’m really digging it.

Would love to have midi in so that it could be triggered by an external sequencer.

3 Likes

this is very cool, I really like the sounds it produces. definitely has its own character.

two questions:

  1. I’m trying to sync with ableton link, but can’t make it work. live finds norns and says they’re synced. clock source is set to link in norns parameters, and to external in rudiments settings. any ideas?

  2. Is there are way to rotate channels in the euclidean sequencer?

thanks!

Sorry can you please explain how to sync a norns with ableton link? I would really like to do that

i don’t think link support is implemented in rudiments at the moment. but for scripts that does it’s very simple: first make sure norns and the computer you’re running live on are connected on the same wifi network, then just go to norns - parameters - edit - CLOCK > and set it to link.
tried it with less concepts for instance, and it works perfectly.

Very very appreciated! Thank you!

Figured I’d chime in on this thread - to be honest I don’t really use this script a lot myself, so further feature development is unfortunately unlikely… :confused: If anyone wishes to take over development I’d be happy to hand it over though.

And FWIW on a related note, I’ve been playing around trying to replicate parts of DFAM in Supercollider, so hopefully there’s another percussion synthesizer for Norns on the way eventually…

7 Likes

simple and delicious, a key to great cooking
thanks for creating this
the Download latest release up there is the same as what we would get from maiden install - correct?

only thing id say is maybe missing a on off button for the grid (maybe bottom right?)
Have a nice weekend

so i really like rudiments, both the sequencer (essentially playfair) & the sound engine, and would love to use them in other contexts.

@cfd90 would you agree to merge an eventual PR for the script to also ship w/ nb support + with a nb voice version of the engine?

(nb is a lib / system that allows decoupling engines & scripts, allowing the engine to be used in any nb compatible sequencer script)

i’d typically love to use:

11 Likes

Hey there! I have further developed the script! @yaw turned me onto it awhile back and I’ve added more grid controls, a simple 4 step pitch sequencer, and support for nb voices in general and with specific grid controls tuned for 5 different nb voices. I also ported rudiments as an nb voice and added a gain parameter for volume. nb_rudiments here

I was wondering if you’d like a PR for these modifications? I can update the documentation as well.

here’s rudiments sequencing emplaitress, nb_drumcrow, nb_rudiments, and oilcan

11 Likes

New to this script because of the notification about n.b. mod above (wow). Nice script, I find it is a great feature that this lineage of Euclidean scripts do not have the rotation feature that some Euclideans have, so you need to “dj” it with the lenght. Super fun!

@postsolarpunk is the nb_rudiments mod one directory too deep in the project, or am I misunderstanding what it is? Being nb_rudiments/lib/mod.lua rather than lib/mod.lua means norns doesn’t find it, if installed from GitHub with ;install plus repo URL as usual. Moving the lib directory one level up works. This relatively simple engine produces some wild sounds!

3 Likes

Ah, thanks! I’ve moved around the files as you said for lib/mod.lua in the repo. :slight_smile:

I’ve uploaded my rudiments branch with the nb support and added grid controls to github. rudiments branch I hastily threw together a PDF of my notes for the grid changes and specific functions for different nb engines as well!

edit: oh whoops, there’s no way to vary the pitch without a grid, it’s just going to send midi note 60 to any nb voice you load lol okay I’ll add that soon

3 Likes