gridofrings

gridofrings

Play rings across a quantised keyboard

Hi all. This is my first script, so please bare with if there are glaring errors. I really wanted a Tocante Karper by Ciat Lonbarde, but was never able to find one, and at the same time was slightly put off by the scales available. It occurred to me that @radioedit’s gridofpoints may be the perfect thing to adapt to create a version of the Karper that suited my needs, thus this script was born.

Huge, HUGE thanks to @radioedit for the permission to adapt, @fellowfinch, @noiserock and @dan_derks for the testing and help in the build.

Requirements

Grid, Norns

Download

v1.0.0 - ;install https://github.com/smonthms/gridofrings

Should be available in Maiden soon

41 Likes

Congrats ! This sounds really nice. Just layed down for a little nap but this makes me wanna bring out my norns and grid to play in stead

8 Likes

I don’t think this should trump a nap! :grin:

7 Likes

Awesome! I love scripts like these that allow me to take my norns to the yard and almost treat it like an acoustic instrument, something I can just pick up and play. Sounds great, looking forward to trying it out!

6 Likes

hi there.

your video sounds lovely, and i would love to try it, unfortunately i get error: missing KarplusRings when i try to start it. i already restarted btw… any ideas?

1 Like

I would imagine it’s to do with you not having the engine installed. Do you have awake rings?

2 Likes

you need to download the KarplusRings :slight_smile:

@smonthms I’ve sent you a pull request that adds the Karplus Rings engine into the Github repo, so people who don’t have the engine already don’t need to supply it themselves.

2 Likes

Thanks mate. I hate GitHub so may take me a while to work out how to merge!

No problem! Shout here if you need some help, but it should be as simple as going to the pull request and hitting merge.

You’ll also then want to pull the changes down to your local machine so you’ve got them.

Another small tweak I’d suggest is that right now, the grid y-axis doesn’t do anything. You could add this line above the engine.hz command at the beginng of the playnote() function, so that the sound is more damped at the top of the grid and less damped at the bottom:

params:set("damping", (util.linexp(2, rows, 0.5, 10, y)))

What this does is that every time you press a grid button it adjusts the damping parameter, setting it to a value between 0.5 and 10. The conversion is linear-to-exponential (that’s the linexp bit), so that y-axis rows 2-8 have the following values: 0.5, 0.82, 1.36, 2.24, 3.68, 6.07, 10.

I liked the 0.5-10 exponential range in some brief testing , but you can adjust the “0.5” and “10” values (top and bottom of the range) to taste, and also experiment with doing a linlin rather than a linexp conversion. You could also adjust a different parameter, replacing "damping" with its name. Up to you!

5 Likes

I just updated gridofrings and the addition of Karplus Rings causes “duplicate engine” failure if Awake-rings is already installed. Maybe its best to not include this… or only install if it isnt already present.

1 Like

Oh I didn’t realise that was a thing! Apologies! Let me see if I can hunt down a solution…

Edit: after some discussion in Discord, it looks like there isn’t a neat way to avoid this. So I’ve created a pull request that simply gives the engine a new name. This means identical code in two files for anyone who has both scripts installed on their Norns, but that’s relatively few people and it’s only 70-odd lines of code, so I think that’s the least worst solution for now.

Thanks for catching that @charbot!

1 Like