If it happens again and you wouldn’t mind grabbing a quick video with a clear example, that would be great. We can work together to try to debug this, as well (another day – I’ve got some things I need to tend to now). I’ll just drop some prints in the script and make it go.
awesome, thanks! Should be a pretty quick fix. I have a few ideas what it could be (encountered similar behavior during testing). Just a binding issue between the interface objects and the params. It’ll be fixed in the next update for sure! (eta early next week)
Awesome job on this script! Super excited to see how it develops! The midi is working great with Digitone, which it matches nicely with as there are 4 distinct instruments to match the tracks.
I have another synth and/or midi-cv for the modular that I would like to introduce but I can’t figure out how to direct the menus in the ‘meta’ stage to other devices. I guess I could break out midi cables and use midi thu possibly. Do you have any tips?
I would love to have the ability to save sequences/states. Saving midi into Ableton is great of course, but it also closes doors.
You can use the preset system in norns to save states as normal. It’ll save everything.
As for the midi stuff: can you provide more details on the device? If it’s a USB connection, plug it into norns, and make sure that it is in device slot 1. If the receiver requires a specific midi channel, you can go to params → meta → midi channel x to change the midi channel for each track.
that is not currently a feature, unfortunately. I do not know how to do that, honestly. I’ll get it working sometime next week, though.
I always thought that midi data would transmit to all devices, and it would be up to those individual devices to do with it what they would, depending on the channel of the data. I was incorrect (found out earlier today, if you look earlier in the thread a bit). Nowhere in the code do I designate “transmit on device 1”, so it’s a whole other hidden layer of control I’m gonna try to pry open and expose to make it dynamically reroutable. I agree that this will be awesome once it’s working!
@rheslip just watched that video. So cool to hear it on four different timbres (which is really its intended use). Killer stuff! I’d recommend giving it a shot sequencing drums by randomizing – you have to make sure that all the notes are actually in a range that triggers a drum (usually just putting them in the same octave), but the clock div and loop lengths really shine on percussion. I put a lot of effort into making the randomizer spit out tasteful results, and was pleasantly surprised last week when a friend was over and we accidentally had it rigged up to a drum track. Esp. for techno type stuff, it can rip.
still figuring out how i feel about the note collection stuff with the transposing-by-fifths (second set of 4 faders). not used to having different tracks on different settings in that section yet… i feel like i always move all four together and avoid the note clashes.
otherwise i think i have more work to do with instrument selection and timbres than with the script haha – I just chose the 4 felt instrument VSTs, slapped a reverb and bus compressor on it, really didn’t mess with it. Fun way to cap off a night!
since you’re a head and I’ve been wanting to get down on this with someone:
the notes that are removed by lower settings on carve (third bank of faders) are the same notes that are added by moving transpose (second bank of faders) north of center. That is: the key to using related note vocabularies together is limiting the note vocabulary, and then you can fill in the gaps. While the note in the video that it’s not a ‘safe’ tool is completely accurate, higher degrees of safety are attained by utilizing smaller note vocabularies and, correspondingly more extreme transpose and offset settings, which will always yield more engaging results than banks 1 + 2 at center and bank 3 at max (cuz that’s just the major pentatonic scale).
So the same rules that I know you know for building chords apply as usual – a fourth below the root (G under C) is better than a fifth below the root (F under C) (I know that the English language phrasing of this is ambiguous, which is why I’m including the parenthetical notes). So lower voices will actually sound better (more traditionally consonant) at higher “transpose” settings, while higher voices will sound better (more traditionally consonant, although in a dark stacked-fourths kinda way) at lower transpose settings. The ideal relationship between octave positions and ‘transpose’ settings is actually inverse, not direct.
Concrete example (out of my ass, no time to test):
limit yourself to three notes in carve (second setting from the bottom) on all four tracks. Track 1 (lowest octave) should be at the highest transpose setting (“D” as the root, so D E A), track 2 (second octave) at the next highest transpose setting (“G” as the root, so D, G, A, because transpose wraps), track 3 in the middle (C, D, G), track 4 in the lowest position (Bb – C, F, Bb). Kinda D Dorian with a flat 6 if I had to call it, which i think is one of those ‘be bop scales’ i hear the kids love.
I just tried it on the piano as a run with the pedal down and it sounds good so idk maybe start there and tweak to taste (offset is a great way to move two notes that seem to be clashing out of each other’s way without impacting the shape of the melody or changing its harmonic content overly much).
Another note about moving between zones: obviously the note that was last played on a track you are actively editing will heavily color how you hear the transition into the next key center. This is that “target note” stuff from jazz school or w/e (I hear). If you notice the first note sounds weird, leave the room with CW running, come back in two minutes, and re-assess. Could be the change was just abrupt. I’ve actually found that using this tool and its many prototypes has helped me execute key changes on the piano, cuz I can “hear them coming,” because that’s the only way to do with with CW, since you can’t pick the note (this is actually an idea I have for another script that I don’t yet have the ear to execute).