a semi-generative rhythmic arpeggiator with bendable playheads
tambla affords exploration of polyrhythms and syncopation. it was born out of a love for arpeggiators and the desire to explore what might happen when wandering off strict grid based timing.
patterns consist of four rows. rows have 2-16 triggers with velocity, duration, and chance values per step. holding down a key generates notes at the given pitch with the trigger pattern in the first (top most) row. each subsequent key held, begins generation based on the trigger pattern in next lower row. note generation starts from the current playhead position instead of the beginning of the row ensuring the overall rhythmic structure is maintained unless note based sync it chosen.
the four playheads scanning each row are synchronized to a common clock. individual rows can divide down the clock for linear phasing effects or bending the clock or both. bend values < 1.0 result in the playhead progressing in a logarithmic fashion (fast then slowing down) where as bend values > 1.0 result in exponential progression (slow then speeding up).
tambla aspires to one day provide sequencing of patterns or generative variation so as to provide something to play against while learning/exploring djembe and handpan. areas of immediate interest include expanding performance controls, developing an engine to provide a unique self contained voice, and crow support.
tambla is also a technical experiment. it is built using a high level event processing framework called sky which imagines writing norns scripts in a declarative fashion using chains of high level building blocks that transform events.
norns (201029 or later)
midi keyboard - for note input, preferably with velocity sensitivity
midi controller (encouraged) - for mapping performance parameters to dedicated
grid - note input
arc - various performance controls
pairs well with
- multi-channel MIDI-CV converters
- (one or more) velocity sensitive polyphonic MIDI sound sources
- clock synchronized setups
available in the tambla-docs repository on GitHub.
latest version always available via
over the course of development various experiments were captured along the way. tambla itself is still looking for its voice, it can make music but it is still learning how. the experiments below are just that, norns driving softsynths via midi:
Can’t wait to try this out (and taking a look at the code). Thanks for sharing!
going to pair this up with my RAV drum!
Very interested to try this out! Is a midi keyboard required if Grid is being used for note input?
this looks awesome! so many great norns scripts these days
either a MIDI keyboard or a grid can be used, sorry for the confusion!
i’m curious to see what comes of this. it is daunting to share when there is so many amazing tools being generated out there. it is very easy to stay tinkering in a corner.
using small bend values on one or two tracks brings some nice but subtle interplay between the patterns. …just thinking about this makes me want to add lfos to animate the bend parameters slightly to create a sensation of rushing and dragging.
hi i like the script! i just wanted to sequenz a external synth but no luck. just the internal sound engine response. if i try awake script to midi out synth response. so in that case i do something wrong with ur script
the main output is either the internal polyperc synth or midi. the default is polyperc. to change where things are routed one has to set the
output parameter, see the tambla: i/o part of the docs
note that there are ways to set each row to output to a different destination and/or channel as well.
Thank you for sharing this! Can’t wait to play around and take a closer look at how it all comes together.
every day it becomes less clear to me why I own an OP-1
tambla: rows -> midi out did the trick! realy nice
Those sketches sound tasty, can’t wait to give this a try. Nice work.
a small test :
pyramid 4 drone Notes -> Tambla -> Microfreak
i love ur script! thank you very much!
cool, thanks for sharing!
…there is a lot of potential which i haven’t fully explored by clocking the script from a sequencer and using norns parameter mapping to drive
tambla parameters remotely via MIDI in addition to playing live.
This looks amazing!
Can’t wait for crow support and JF over i2c.
need a little help, getting a load fail error:
script load: /home/we/dust/code/tambla/tambla.lua
ERROR (i2c/hp) failed to write
MISSING INCLUDE: lib/dep/rxi-json/json
SCRIPT ERROR: load fail
/home/we/dust/code/tambla/lib/pages.lua:4: MISSING INCLUDE: lib/dep/rxi-json/json
/home/we/norns/lua/core/norns.lua:138: in function </home/we/norns/lua/core/norns.lua:138>
[C]: in function ‘error’
/home/we/norns/lua/core/startup.lua:48: in function ‘include’
/home/we/dust/code/tambla/lib/pages.lua:4: in main chunk
[C]: in function ‘dofile’
/home/we/norns/lua/core/startup.lua:42: in function ‘include’
/home/we/dust/code/tambla/tambla.lua:29: in main chunk
[C]: in function ‘dofile’
/home/we/norns/lua/core/script.lua:172: in function </home/we/norns/lua/core/script.lua:172>
[C]: in function ‘xpcall’
/home/we/norns/lua/core/norns.lua:139: in field ‘try’
/home/we/norns/lua/core/script.lua:172: in function ‘core/script.load’
/home/we/norns/lua/core/menu/preview.lua:21: in function ‘core/menu/preview.key’
/home/we/norns/lua/core/menu.lua:139: in function </home/we/norns/lua/core/menu.lua:116>
ERROR (i2c/hp) failed to write
clock: ignoring resumption of canceled clock (no coroutine)
sorry, my bad - i’m guessing the zip file was used? i just pulled down the link for now. the
rxi-json lib is being pulled in as a git submodule which the
maiden install will handle but the zip file is missing.
i’ll correct the zip file next chance i get.
i’d recommend deleting the install you have and using
thanks for the help! i was unaware that i needed to refresh the community catalog actually haha. found on maiden now and working
lovely script by the way!