first if all, just want to say this is a wonderful script!
i was playing with cranes last night, and recorded to DAW, i noticed, it seems i can’t get the output to pan left and right.
when i set the pan in param page, pan 0.0 is in center, moving toward 1.0 is hard right. but can’t move it to the left.
am i missing something obvious?
EDIT : after trying it a few minutes, i noticed, on param page
pan voice 1, can only be set either -1.0 for hard left or 0.0 for center (no increment in between -0.1 to -0.9). same also in pan voice 2, only 1.0 (hard right) or 0.0. is it possible to have the pan position somewhere in between? not just hard left and hard right?
also is it possible for voice 1 to cross to the right side and voice 2 to the left side? right now voice 1 only center or left, voice 2 center or right.
also the KEY3 option on param page, can only be set to 0.0, 1.0, 2.0, 3.0, 4.0, no .5 increment (for example 0.5, 1.5, etc.)
I’ve been using Cranes a LOT during the last months (both live and in studio work), and I find it to be especially brilliant in creating smudgy textures. Here’s a recent sketch on it:
One minor problem which I’ve recently had is that I messed up the input settings at some point, so when I stop recording and activate playback the sound is way louder than during monitoring… have to tweak that for good values at some point!
I’m enjoying Cranes very much!
I’m very new (only a few days!) to Norns, but love it! As I begin to work through the Norns studies, I can’t help but want to add Arc support and a controlable delay (I also wonder why delay isn’t available globally and reverb is and why Arc support isn’t already present but midi is but those are separate questions).
It seems simple enough to add arc support using Arcify - even if I have to decide at the outset what knobs control what (I did see Arcify was working towards a sort of global param select which would be great).
With respect to the delay, I saw that softcut could handle the addition of a delay. There’s already some code for a multitap delay in the softcut thread.
My questions are: is my thinking correct? And, which Norn study would best help me implement this (I am working through them all, regardless). I am not a coder, but I am a heavy R user (for stats, but most similar to Python). I am willing to put in the time to do this, so that’s not an issue. Just looking for some guidance!
the delays people have crafted in their scripts use softcut, which is available globally but requires the user to define its behaviors. hard-coding this approach into norns would require restricting the number of softcut voices the user has access to as well as assumptions about how folks want to use “delay” which means a wide range of things to different people (multi-tap vs ping pong vs glitchy vs long warbles vs etc etc) – better to allow you to define how you want to implement it
to create your desired delay inside of cranes, you’ll want to spend some time with the softcut studies. cranes is already uses softcut’s voices 1 and 2, so you’ll just want to be mindful of that by creating a delay that uses voices 3 and up.
totally! I’d say try creating an abstraction like halfsecond (in awake), so you can repurpose your delay. then, you can create an arc-based interface for it and others can repurpose your code. otherwise, arcify is the best way to “plug and play” arc control over any of the params in cranes.
Thank you so much for the very timely reply! I appreciate your work (and everyone else’s) very much.
One question related to your last paragraph. You note that others can repurpose my code. I’m clearly going to cannibalize others’ code which I’ve found in line and on github, but where else should I be looking for things I can use and where’s the best location for me to put my working pieces. Once I get a modified Cranes with arc and a delay, am I allowed to share the full code or only the pieces I modified. I’m not sure how that works since you’re the author of Cranes, but I’ll be cobbling together code from elsewhere. I’d just like to put it out there to help others once I sort it out myself.
@Biologik just a note, that code I put up there was pretty hastily exploring softcut back early in v2.0. I’m gonna guess that it probably doesn’t work exactly because param and function names have changed. Seconding @dan_derks, looking at half-second, and looking at the studies here will be much more informative. https://github.com/monome/softcut-studies is a great explanatory series on softcut and the types of things you can do with it. Dan also has some real cool stuff going on with softcut in cranes itself that’s worth a look. Cranes is a great project to reference the code to as it is a fairly simple concept, but implements a lot of cool configuration and UI for playability.
Wouldn’t this be tricky, because there are only 2 buffers, so cranes and the delay would potentially record over each other if the voices are at the same position in the buffer? I guess if you set the delay voice to a later position in the buffer it could work, but something to keep in mind.
I could be way off and misunderstanding how it all works though…
To clarify, you can register as many params of Cranes as you want and then choose which ones you want to assign to the Arc in the params menu - so it could be different from one preset or another. Or with a little extra code even something you change dynamically while the script is running!
Looking at the readme for Arcify I don’t think that’s clear enough, the readme would suggest you have to assign it in code - not the params menu.
first of all, definitely go the right way and use arcify.
but just in case it’s useful as a reference, somewhere up thread here (wow this thing is crazy long now), i posted a less elegant hack to control volume and buffer position via arc:
if n == 1 then
params:set("vol_1", (params:get("vol_1") + d/100))
elseif n == 2 then
params:set("vol_2", (params:get("vol_2") + d/100))
elseif n == 3 then
if d < 0 then
elseif n == 4 then
if d < 0 then
i want to say this might not be useful because arcify might demand params? but just in case…
this kind of illustrates your question on attribution. i don’t know if there are any rules, but my thought process was, i posted a script that is a fairly heavily modified version of loom in the library. the sequencer is unchanged but i took some stuff out and built a bunch of harmonic stuff in, so i felt like it was worth a post, because the purpose of the script diverged from the original. my other edits like the one above are small quality of life changes that don’t change the purpose of the script. i will just pop those in the thread on the off chance they’re useful to others.
again i don’t know if there are any rules but this seems to have been fine
I’d say if you fundamentally make something your own, you should be able to name it and attribute it to yourself, maybe with a note of where you found inspiration. @Justmat does a great job of this in mangl, for example: based on angl by @tehn and the engine: glut by @artfwo.
I think overall it’s kind to cite your sources, but it’s all fair use
also, feel free to submit a PR to cranes if you improve the project and want to share those improvements!