Device Details


Overview

Name | Version: Kasm Rulez 1.15
Author: kevleyski
Device Type: MIDI Effect
Description: Apply real-world rules to virtual instruments!

Want to limit your drum rack to bongo-only mode? Make encoder dial twiddling more realistic, smooth things out.

This is a demo example of the Kasm Rust/WebAssembly SDK feature that can monitor MIDI data and resolve by filer out note/cc impossibilties. With the SDK you might resolve by delaying the note event slighty, moving to nearest higher or lower note in the detected scale, or use Triggaz

Smooth Dial/Faders Rulez:
Encoder rotary dials can physically be turned at a maximum rate. Add interpolation steps for anything too fast.
Even if a fader slider is flicked, there is still physical time and interpolation of MIDI CC events to trigger depending on the CC data delta.

Hand Drums Rulez:
Enforce two-hands realism on bongo patterns.
On tones requiring one hand to be muting, only one note can be played simultaneously.
Restrict physical note repeats to how fast a hand could repeat.
Restrict velocity of a hit if the duration is very short; a loud hit needs more hand movement and thus more time.
Minimum hit velocity where a sound would actually be heard.

Full SDK (disabled in demo) also includes code for:

Six-String Guitar Rules:
Minimum time between repeated playable notes.
Minimum strum time with finger or pick.
Lowest pluck where no sound would play.

Scale Rules:
When scale/key is detected in arpeggiators and emanators, we usually avoid notes that would not fit that scale, maybe we actually want some invalid chaotic chromatic notes.

Keyboard Rules:
Maximum span in semitones for one hand (e.g., an octave plus white keys).
Velocity lower than 10 would not actually cause hammer hitting string/tine.
Hand span typical range is octave plus 1 or 2 white keys.
Minimum time in ms between one hand position and the next to allow for realistic hand movement, i.e., before a third hand would be needed.

Stringed Instrument Rules:
Minimum time between plucking the same string again.
Don’t allow pizzicato short duration notes at the same time as long-duration bowed notes.

Instrument-Specific Rules that are coming:
Piano: Key range A0–C9 (the Bösendorfer Imperial has 9 additional low keys!).
Violin: Assuming standard GDAE tuning resting play from G3 (open string) to E6 (4th finger on E string).
Guitar (6 String): Key range E2–E6, assumes standard EBGADE tuning.
Bass (4 String): Key range E1–E5, assumes standard EADG tuning.
Cello: Key range C2–C6, assumes standard CGDA tuning.

... but you don't have to wait for us, you can go make your own by grabbing the Kasm SDK here:
https://pyrmontbrewery.com/get_kasm

Testers of this device get A$15 off of the SDK, in Ableton click the "Kasm Rust" title as shown the image above to get the current coupon code - if you can leave a comment here that's wonderful, but no worries mate

Students also get a 30% discount, use KASMSTU at the checkout

!! NOTE: you need the latest Ableton 12.2 for this as it uses the new V8 jsinterp from Max9 !!

But... if you don't have Max4Live or have an older Ableton Live version no worries - Kasm is WebAssembly so it also runs on a regular web browsers too! You can interface with Ableton via WebMIDI instead, this way you can develop and test with Kasm SDK in Chrome/Firefox, try it out here:
https://pyrmontbrewery.com/kasmsdk

Details

Live Version Used: 12.2
Max Version Used: 9.0
Date Added: Aug 30 2025 14:21:49
Date Last Updated: Aug 31 2025 09:09:31
Downloads: 36
License: None
Average Rating (1)

Log in to rate this device

5

Files

Device File: Kasm Rulez.amxd
 


Comments

Rulez documentation is here:
https://kasmsdk.github.io

Login to comment on this device.

Browse the full library