Stereo LPG and 2-button sequencer with extras. Intended for use with noise or drone instruments both to calm their rich spectra and to provide (or convert to) a rhythmic/percussive element. However, this is completely optional and it can be its own noise and/or drone instrument with no external dependencies.
Requirements
Norns
Any device with stereo or mono line-level outputs (optional)
I’m on Fates and getting load fail, don’t know if it’s platform specific. I was on an older system version but updated to the latest, Fates 210701, reinstalled Smash and still the fails. ape crash!
@fourhoarder thanks for trying and I’m sorry to hear it’s not working for you yet. I am working through a desktop OS install but I’ll reach out as soon as I can help. I will say I’m using the newer beta (with mod support). I hope that helps.
This is super cool. Instantly tried with my Nova Drone, which can be very raw, but smash turns it into a whole other instrument. Thank you for making this!
The smashing sequencer is super fun. It took a couple of tries to get that it didn’t record immediately with k3, but only arms
So first step in sequence is always a trig. I saw in the code that you are thinking about overdub. That would be killer!
Initial installation from Maiden didn’t work, got a load fail, but installing with ;install from the repo worked. Maybe the two aren’t in sync?
Wow, thank you for the kind words @infinitedigits and also for the png/ffmpeg trick that I used for the preview gif
Thank you too @Jensu - fourhoarder and I were able to debug the issue and it turns out I did a dumb thing by giving the repo an ALL CAPS name.
For anyone who directly cloned the git repo before I posted v0.1.1 in the topic above - please be sure to rename your folder from “SMASH” to “smash”! If you installed via maiden and it wouldn’t load before, grab the v0.1.1 update and it should be good now. Sorry for the goof
file not found: /home/we/dust/code/SMASH/SMASH.lua
and Norns black-screens and becomes unresponsive in the physical UI.
If I rename the smash to SMASH I can get to the load screen and back in the menus, but the script will unsurprisingly give an error: load fail. I also removed the directory and cloned again from the repo.
May I suggest using _path.this table for its dynamic and relative paths?
PS. what a strange script, maybe I’ll finally understand what an LPG is Monkey see monkey do!
Ugh, this is what happens when I try to be clever lol Thanks giving it a try and for letting me know it’s still borked. I just pushed a v0.1.2 which hopefully fixes that (see original post). I’m feeling good about this one - it’s nice and simple and I’ve tested it more thoroughly.
The _path.this is a nice thought, but for posterity’s sake (not trying to punish your good deed!!), that didn’t seem to work I hadn’t used the _path global before, and attempting to print _path.this actually overflows the stack on my norns! Here’s some more info - this seems to be an undocumented internal so this information might be useful for someone.
tabutil.print(_path)
favorites /home/we/dust/data/system.favorites
keyboard_layout /home/we/dust/data/system.kbd_layout
this table: 0x384610
tape /home/we/dust/audio/tape/
enabled_mods /home/we/dust/data/system.mods
extn /home/we/norns/lua/extn/
audio /home/we/dust/audio/
home /home/we
code /home/we/dust/code/
data /home/we/dust/data/
dust /home/we/dust/
<ok>
I’m not seeing any relative goodies in there, and it seems like the this key has some kind of circular reference. Anywho, thanks for the tip - there is some nice handy stuff in _path
As far as it being an LPG I am definitely taking some liberties, hehe. There are a few LPG implementations out there that aren’t real LPGs but are rather a VCA and a filter emulating one (WMD Aperture springs to mind) - this falls more into that category. It does seem to have a bit of that “gooeyness”, and there’s a sweet-ish spot where the phase irregularities introduce some subtle creaminess against the leaked noise/hum.
Oopsie nothing like a good old stack overflow recursion thing! It’s turtles all the way down¹
The one i had in mind is _path.this.lib which is a string pointing to the lib directory of current script, ie. to /home/we/dust/code/smash/lib. It survives name changes
¹ If anyone happens to have readings about the corollary but less discussed idea of “it’s turtles all the way up”, please let me know.
Oh, yeah, it totally does! This is actually the same path provided by norns.state.lib. This returns the absolute path, though, as you showed here. And unfornately (at least in my testing) require() doesn’t like those.