Smash 0.1.2

SMASH

Sequencer for apes :banana:

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)

Documentation

Control Action
K2 :boom:SMASH:boom:
K3 Arm / Play
K1 + E2 Select E2 action
K1 + E3 Select E3 action
E2 Control something (default sharpness)
E3 Control something else (default sequencer speed)

Download

v0.1.2 - Critical bugfix

v0.1.2 - https://github.com/ryanlaws/smash/archive/refs/tags/v0.1.2.zip

  • All manner of goofy issues caused by the poor choice of ALL CAPS. Hopefully this one nips it in the bud.
51 Likes

You did it! Very awesome! I look forward to checking this out.

5 Likes

Thank you so much!

Also thanks to @yams, @static, and @tyleretters for testing, suggestions, and for the name!

4 Likes

script is certified 100% stonks. insane work.

8 Likes

The parameter selection drop down on the main screen is genius. It is the first time I’ve seen parameters done this way; love it.

7 Likes

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!

2 Likes

Thank you @ohm !

@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.

2 Likes

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?

10 Likes

this is a jewel of a norns script @license !

the interface is so amazing, feels like playing with music technology from another galaxy.

I don’t know how you come up with this stuff.

7 Likes

Wow, thank you for the kind words @infinitedigits and also for the png/ffmpeg trick that I used for the preview gif :slight_smile:

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 :see_no_evil:

4 Likes

this script is awesome, like, what would happen if you mated a Landscape Soundwich and a circuit bent NLC Bong0…??

3 Likes

Something somewhere is remembering the old name

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 :gorilla: Monkey see monkey do! :banana:

2 Likes

Ugh, this is what happens when I try to be clever lol :speak_no_evil: 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 :frowning: 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 :slight_smile:

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.

2 Likes

Oopsie nothing like a good old stack overflow recursion thing! It’s turtles all the way down¹ :turtle::turtle::turtle:

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 :slight_smile:

¹ 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.

1 Like

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. :turtle:

2 Likes

Ah ok just a though. meanwhile i think I’ve understood what an LPG is and am smashing like an ape :banana::gorilla:. So thanks :banana:

2 Likes

ABSOLUTELY fracken amazing noiz script!

here’s last night’s noiz session along with a bit of the noizrig that was posted on Insta…

two norns running SMASH and one running @tyleretters Arcologies.
other noiz provided by Doepfer Dark Energy, Cocoquantus, Shnth, Deluge, MBase11…

and the noiz rig…
https://www.instagram.com/p/CT_9UMzAjSU/?utm_source=ig_web_copy_link

7 Likes

Thank you for sharing your jam!!! :metal:

2 Likes

Looks super fun, can’t wait to try :slight_smile:

8 Likes

YESSS! I was tempted to put this exact image into the UI :smiley:

5 Likes