bakeneko!

a haunted drummer companion

bakeneko

the main goal of this script is to help non-developers get comfortable with editing code! the script is relatively short, hackable, and (hopefully) understandable. it uses simple lua patterns and clear variable names.

musically, bakeneko has six tracks. each track contains a simple sequence that causes samples to play. bakeneko uses the norns system clock, so you can sync it with other gear.

open up bakeneko.lua in maiden and you can change all sorts of attributes. after editing, save, and re-run the script. here are some global attributes:

start_playing_on_boot = true, -- start playing as soon as you launch the script?
default_bpm = 120, -- change with e2 while running
default_level = 100, -- how loud is the whole thing
sample_directory = "/home/we/dust/audio/common/808",  -- change to whatever directory you want

and each track attribute can either be set to “random” a particular value:

track_1_on = true, -- toggle the sample on and off
track_1_level = 100, -- max level of this sample
track_1_density = 50, -- percentage representing how dense the notes are
track_1_period  = 1/4, -- periods can be anything (i think)
track_1_length = 16, -- how many periods before looping back to 1?
track_1_sample = "808-BD.wav", -- specifcy a sample name
track_1_pattern = "x---x---x---x---", -- draw a pattern with "x" and "-"

track_2_on = "random", -- ...or spin the wheel with "randoms"
track_2_level = "random",
track_2_density = "random",
track_2_period = "random",
track_2_length = "random",
track_2_sample = "random",
track_2_pattern = "random",

finally, you can get a taste of “live coding” with the matron tab in http://norns.local/maiden. while bakeneko is playing:

tracks[1].on = false -- turn off track one
tracks[2].level = 25 -- sets track two's level to 25%
bpm = 100 -- change the bpm
tracks[4].current_step = 1 -- set track four's current step back to 1
toggle() -- start / stop

Requirements

  • norns
  • samples

Download

available in maiden or directly.

52 Likes

This is awesome !!! thanks

3 Likes

its very rewarding to be able to “code” a drum beat like this! rich complexity and also generous simplicity at the same time - excellent work as always!

2 Likes

props to @license for the x-x-xx-x--- thingy. that came from song. i saw it and was like “that is the most norns-assed thing i’ve ever seen”

7 Likes

lmao :heart: biggest compliment I’ve received all week

3 Likes

Props for the demon cat reference. Spectacle Theater did some horror streams last halloween and I learned what a Bakeneko is from this movie. Highly recommend.

1 Like

nice. i got it from cyberpunk 2077 lol.

caveat - im a newbe. but yeah with each roll I get lovely shuffling kroutrock beats. couldn’t see any videos of this being demoed? was wondering if im missing something with each roll i get a new beat but each track appears to be playing the same sample, is that what its suppose to ?

or maybe i’m only hearing a couple of tracks at once, t1 set to level 100 the rest random. t1 is also set to 4x4 , 808 Kick but dont seem to hear that track

hmm, what does the config chunk of your code look like? did you change any of this? bakeneko/bakeneko.lua at main · northern-information/bakeneko · GitHub

its was same as that to begin with, but then did a test and set each track to 6 steps incrementing which triggered 1 at a time, they all trigger the same random sample , but track 1 is not set to random

also removed the app and reinstalled from maiden but still the same, but i’m enjoying pretending to be a coder

did another test set every track to a specific name “808 CP” etc and it seems that what ever sample is specified in t2 is whats triggered by the other tracks