Massif

massif

8 peak resonator for norns

massif is a simple wrapper around the dynklank supercollider ugen. there are 8 resonators, each with tunable frequency, amplitude, and ring times. massif works best when utilizing an external controller, though it is not required.

i made this a while ago and never got around to sharing :sweat_smile:

Requirements

norns
16n is great with massif, but not at all necessary.

Documentation

controls


  • key 1 = alt

play

  • key 2 = tunes all peaks to random notes of your selected scale, based on the pitch at the left input

nb: set your scale selection in the parameters menu


hold alt and press key 3 to enter edit mode.

edit

  • key 2 = tune current peak to the pitch at the left input

  • key 3 = hold and play a midi note to tune current peak to the midi note

  • alt + encoder 1 = peak select 1 - 8

  • encoder 1 = frequency

  • encoder 2 = amplitude (be careful with this one, it can get loud)

  • encoder 3 = ring time/decay time

Download

v1.0.0

75 Likes

Oh nice! I am looking forward to checking this out! Thanks for sharing it.

3 Likes

Does Massif have any visual screen feedback for changes I make via the encoders? I feel like I’m missing something?

EDIT: huh, having to hold k1, press k2 and turn e1 to get the redraw to start happening and get me into the per band in script parameter edit screens.

yeah, that’s just how it works. :sweat_smile: i only use massif with a midi controller attached, so never really change stuff from the norns interface. if you’d rather it start up in that other mode, it’s a super simple change.

Screen Shot 2021-04-10 at 4.49.13 PM

change the number on line 17 from 0 to 1

2 Likes

This is simple and really fun! Makes 16n feel like a sonic butterknife.

2 Likes

glad you’re getting some use out of it! the 16n really is a wonderful companion to massif :slight_smile:

3 Likes

Had some fun mucking around though didn’t really nail my 16n mapping to feel totally natural - any tips?

i generally use 8 faders for frequency and 8 for ring times. what have you been trying?

maybe i should add my mapping in as a default? would anyone be interested in that?

Ah that makes sense, mapped that way and had a joyous little hour with Nanoloop.

I was confused with my mapping in combo with not realizing the UI wouldn’t live update. All good now thanks!

1 Like

Sure. I imagine adding 8&8 / freq&time would suit most (if not all) practical scenarios I can imagine. Currently have it set for freq&amp for moderate drum chimes thou.

1 Like

I actually landed on Freq&Amp myself :slight_smile:

2 Likes

Lovely beats, very beautiful! How do I get this app? It’s not on Maiden?

Try entering the following in Maiden:

;install https://github.com/justmat/massif

(It goes in the command line at the bottom of the Maiden screen).

1 Like

@DoS is right, use the ;install command via the maiden REPL. it’s really such a simple script that i never added it into the maiden project manager. i guess i should rectify that :cowboy_hat_face:

edit: just added it to the community catalog and sent the PR should be in there soon-ish :smiley:

Edit the second: this is in the maiden project manager now!

5 Likes

Thanks! Sounds super lovely in your og demo!

I love this script! I’ve used it many times and always enjoy the results. I have a midi controller question. I’m using a nakeboards 24 knob controller for the amp, freq, and tuning of each voice. I was wondering if its possible to work some of the code to have the tuning increments smaller when turning the knobs? For instance in params for tuning, holding k3 will shorten the increments to 5hz, can that be applied to the controller as well? I’m a complete noob at code so I hope this doesn’t seem like a wild request.

EDIT: Finally poked around with the code and found if I shorten the frequency range for each voice (line 61 and so on), the midi controller will shorten the frequency increment by default. I changed the high frequency range from 10000 to 1500. I’m using mostly low frequencies with this script so this solution works out great for me.

Again, lovely script, thank you! I enjoy pinging the voices with ciat-lonbarde rolls pulses.

2 Likes

if you connect both outputs to both inputs to make a feedback loop and headphone out to the speakers you have a poor mans Tilde Elektriske FJÆRLETT. Assign a slider to the output vol to control the feedback and play the frequencies with the other sliders. I changed the frequency range in the patch to 5000 instead of 10000. Amplitudes 1 - 8 low @0.15, Ring 1 - 8 @3.5. Switch on the compressor to save your speakers.

6 Likes

that is awesome! gonna try it out this morning. i’ll go ahead and lower the frequency ranges a bit as well, as it seems smooth things out a bit.

I legit have no idea how to interact with this thing. I read the code and figure out that if there is audio input to norns, I can hit K2 and get some random snappy sound out (sometimes it’s super loud – luckily didn’t hurt my ears yet). But how do I play this thing? Halp please? Should I wiggle some CCs while sending it audio input?


I think that’s it; trying to listen what’s going on in the demo above that’s what this seems to be about. Nice.

I added dirty = trues in params:set_control callbacks to update the screen after MIDI cc input, like so, between lines 61-133, if that’s interesting to anyone.

params:set_action("freq1", function(v) engine.freq1(v) dirty = true end)

Watch your ears people.

haha, it’s a pretty half-baked thing really :slight_smile:

it’s really just a small wrapper around the DynKlank ugen. massif has 8 resonant filters/resonators that you can set cutoff/decay/amp for. you can do things without a midi controller, but it’s not a very nice way to work with massif, you’ll need to do a lot of parameter menu diving… key2 randomizes the cutoff and depending on your source material it can get loud!

https://doc.sccode.org/Classes/DynKlank.html

3 Likes