← all scripts / norns

b-b-b-b-beat

Beat repeater with some glitch

undisclosed Imported automatically; the author has not disclosed AI use yet

install

In maiden's REPL (the >> prompt at the bottom of the editor), run:

;install https://github.com/frederickk/b-b-b-b-beat

Or add the splines catalog to maiden and install it from the project manager. Restart norns if the script ships a new engine.

readme from frederickk/b-b-b-b-beat

B-B-B-B-Beat

v0.11.0

A repeater inspired by Ableton's Beat Repeat for Norns, with some added glitchy inspiration from MASF Possessed/MWFX Judder.

This script uses live audio or samples for all of its repeating magic! Read more about the different modes in the guide.

B-B-B-B-Beat UI

Demo

I'll post a brief demo showing B-B-B-B-Beat in action, soon.

Requirements

Norns or Fates or device running a recent norns release (uses clock.tempo_change_handler). For Fates owners, BPM value can be persistently controlled using the 4th encoder, for Norns owners it's E2 the first page P0. BPM adjusts the system clock tempo directly (PARAMETERS > CLOCK).

Install/Update

B-B-B-B-Beat can be installed via Maiden's project manager.

Params

Params be controled with Midi CC via MAP within params menu. For a detailed overview of the params and general functionality of this script refer to the guide.

Page Controller Description Values
All E1 Change page
All K2 Resync to beat 1
All E4 (Fates) BPM 1 - 300
0 E2 BPM (3 encoder norns) 1 - 300
1 E2 Interval length 1/256 - 4
1 E3 Grid length 1/256 - 4
2 E2 Offset amount 0/16 - 15/16
2 E3 Gate, total length of repeats 1/16 - 15/16, 1 - 4 bars
3 E2 % repeat occurrence (chance) 0 - 100%
3 E3 amount of Grid variance 0 - 10
3 K3 toggle chance (temp. set 0%) 0%
4 E2 % glitch occurrence (frequency) 0 - 100%
4 E3 glitch intensity 0 - 100%
4 K3 toggle glitch effect (temp. set 100%) 100%
5 E2 output mode mix, insert or gate
5 E3 dry/wet mix (both full at 50%) 0 - 100%
6 E2 change mode live or sample live or sample
6 E3 input stereo or mono stereo or mono
6 K3 load new sample Any valid audio file
7 E2 pitch of repeats -24 - +24 semitones
7 E3 pitch decay per repeat -12 - +12 semitones
9 E2 volume of repeats 0 - 100%
9 E3 volume decay per repeat 0 - 100%
11 E2 band-pass filter frequency 20 Hz - 20 kHz
11 E3 band-pass filter width 1 - 100%
8, 10, 12 E2 pitch, volume, filter LFO rate 1/256 - 4
8, 10, 12 E3 pitch, volume, filter LFO depth

Development

SSH into your Norns/Fates, then enter the following commands in terminal.

$ cd dust/code
$ git clone https://github.com/frederickk/b-b-b-b-beat.git

If you want to get the latest version run these commands:

$ cd dust/code/b-b-b-b-beat
$ git fetch origin
$ git checkout primary
$ git merge origin/primary

Changelog

  • v0.11.x
    • Added Gate: total length of repeats after each capture (P2), ported from the feature-tape-in branch
    • Added Output mode mix, insert or gate (P5), ported from the feature-tape-in branch
    • Split glitch into Glitch (frequency) and Intensity (P4); glitch speed changes hold until the next grid step
    • Pages regrouped: P2 offset/gate, P3 chance/variation, P4 glitch, P5 output/mix, P6 mode/input, P7 - P12 FX
    • Screen drawing moved into lib/core/ui.lua
    • Repeats only restart when the loop no longer lines up with the step, so steady stutters loop sample accurately instead of flamming
    • Updated screenshots
    • Fixed repeats being a quarter of the Grid length (loop length treated bars as beats)
    • Fixed repeats and captures restarting outside the loop, which smeared the start of every repeat; Softcut crossfade now set to 5 ms
    • Fixed the last second of samples never playing (loop now covers where the file sits in the buffer)
    • Fixed glitches never happening on 1/256 grids (and half as often on 1/128)
    • Fixed grid steps drawn past the end of the bar for intervals under 1 bar
  • v0.10.x
    • Added repeat FX: pitch (+/-24 st), volume and band-pass filter (pages P5 - P10)
    • Added pitch decay and volume decay per repeat
    • Added tempo-synced LFO per FX (sine, triangle, saw, square, s&h, random per repeat), each on its own page
    • Added dry/wet Mix (P4 E3) and Input stereo/mono param
    • Each page now edits two params with E2/E3, no held keys
    • Chance now mutes repeats on steps where it doesn't fire, so 0% is dry
    • Variation now plays random shorter loops (exact halvings of Grid) for a step, instead of jumping to 1/256
    • Tempo indicator swings once per bar instead of every grid step
    • Screen glitch now follows audible glitches; Glitch UI on by default
    • Fixed no audio being recorded when the system mixer's softcut input adc is at -inf
    • Fixed volume and pitch decay counting grid steps where no repeat played
    • Fixed band-pass filter level jumping by ~35 dB across Width (now unity gain)
    • Fixed loop length for non-48kHz samples (Softcut doesn't resample)
    • Fixed Chance/Glitch staying at 0%/100% when K3 is released on another page
    • Fixed 3 encoder norns being treated as Fates (no P0, no BPM control)
    • Fixed triplet lengths (1/96, 1/48, 3 bars): recording never stopped so nothing repeated, and steps fell at the wrong times
  • v0.9.x
    • Updated for latest norns firmware
      • BPM controls system clock_tempo directly; script no longer resets tempo on load
      • Loop length follows tempo changes from any clock source (clock.tempo_change_handler)
      • System mixer levels (input, softcut, reverb send) restored when script exits
      • Stutter mutes softcut voices instead of global softcut level
      • PSETs written to last used slot instead of always overwriting slot 1
      • Named param separators/group IDs
    • Fixed screen smearing when Glitch UI is off
    • Fixed crash when releasing K2 (or K3 on pages without a K3 action)
    • Fixed mono sample loading
    • K3 sample selection now updates (and saves) the Audio file param
    • Removed leaked globals (incl. a stray global init in lib/core/ui.lua)
    • Added sample loading
    • Toggle live/sample mode in UI
    • Tweaked glitch effect
    • Fixed 'core' appearing in Norns list
    • Created GUIDE.md
    • Change K3 function to toggle params
  • v0.8.x
  • v0.7.x
    • Added offset param
    • Updated UI; more detail
    • Removed SC engine, restart no longer required on install
    • Addressed repeat (tempo/softcut) bugs
    • Updated README.md with more detail
  • v0.6.x
    • Refactored codebase
  • v0.5.x
    • Fixed Glitch engine
    • Added param to toggle glitch noise (hiss)
    • Added param to toggle UI glitch
    • Added param to toggle stutter
    • Added to Maiden
  • v0.4.x
    • Fixed params bug; params:add_option
    • Fixed "Chance" param; default 100%
    • Added Midi passthrough
    • Enabled param reading/writing
  • v0.3.x Initial release

discussion

Like this script? React with 👍 or ❤️ below (needs a GitHub account). Reactions count as likes (♥) on splines, updated daily.