← all scripts / norns
b-b-b-b-beat
Beat repeater with some glitch
install
In maiden's REPL (the >> prompt at the bottom of the editor), run:
;install https://github.com/frederickk/b-b-b-b-beatOr 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.

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 thefeature-tape-inbranch - Added
Outputmodemix,insertorgate(P5), ported from thefeature-tape-inbranch - Split glitch into
Glitch(frequency) andIntensity(P4); glitch speed changes hold until the next grid step - Pages regrouped:
P2offset/gate,P3chance/variation,P4glitch,P5output/mix,P6mode/input,P7-P12FX - 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
Gridlength (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
- Added
- 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(P4E3) andInputstereo/mono param - Each page now edits two params with
E2/E3, no held keys Chancenow mutes repeats on steps where it doesn't fire, so 0% is dryVariationnow plays random shorter loops (exact halvings ofGrid) 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 UIon by default - Fixed no audio being recorded when the system mixer's softcut
input adcis 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/Glitchstaying 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,3bars): recording never stopped so nothing repeated, and steps fell at the wrong times
- Added repeat FX: pitch (+/-24 st), volume and band-pass filter (pages
- v0.9.x
- Updated for latest norns firmware
- BPM controls system
clock_tempodirectly; 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
- BPM controls system
- Fixed screen smearing when
Glitch UIis 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 fileparam - Removed leaked globals (incl. a stray global
initinlib/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
- Updated for latest norns firmware
- v0.8.x
- Separated clock and redraw coroutines (https://llllllll.co/t/norns-clock/30738/77)
- Fixed passthrough bug when chance below 100% 🤞
- 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.