One challenge that I see is that when not using i2c, you only have two control inputs. One of those will likely be needed for clock unless there is a way to detect voltage change on an input and use that as the clocking mechanism.
Here’s a script which treats input as a clock, input for data, and lets you switch between different modes and clock divisions for each of the four outputs by changing up options in a user data table (think Pam’s New Workout). You can also change the options in real-time from Druid, Max etc
Options include a S+H, slewed S+H (slew time set by input clock rate), stepped random, slewed random (slew time set by input clock rate), a few different LFO waveshapes, a trigger pulse, etc, a sequence, a quantizer, etc.
If you change the modes in real-time, will these values persist after a power-cycle, or would you need to read/write a separate configuration file, sort of like the norns preset system?
The changes would not persist - you would need to update the modes/divs/levels arrays in the script for your desired defaults.
Thanks for the response. I think it could be interesting if a script could read/write to a separate file, so you could save and load any live coding data changes, but maybe this is not currently possible.
Norns + crow = Analogue Systems rs-35 external processor
Norns analyzes an audio input’s pitch & envelope
Encoders adjust sensitivities & ranges
Crow outputs v/oct following pitch, envelope & gate
Seems like something supercollider is more than capable of, though I don’t know the first thing.
I don’t think you’d even need supercollider. There is a norns poll for input pitch. I have already used it to send midi note data to external synths. I imagine it would be fairly easy to use crow as the output.
Quad LFO with quadrature and divide modes (a la Batumi) selectable via live coding
Rotating Clock Divider emulation (minus the reset input)
cv step recorder (brainseed emulation)
Norns screen as sub-audio-rate oscilloscope?
Softcut based sampler with CV control over rate and sample position (probably unrealistic… I’ll have to think through this one a bit more).
It occurred to me also that Norns could expand the interface of a standalone script to give you control over additional parameters, or if a script has multiple modes, enable you to select the mode through Norns. After you select the mode, (if you selected “quadrature” mode in the LFO script, for example) I imagine you could open up a different Norns script and Crow would continue to do its thing.
In other words, standalone Crow scripts could have companion Norns scripts that exist solely to send commands to Crow that you would otherwise have to send through live coding.
Edit: after typing this I realized this probably won’t work, since I’m guessing crow won’t load the standalone script if it detects that Norns is plugged in.
Rate of change script might be doable? (paging @ParanormalPatroler)
+? (Some sorta filtering CV or S&H)
Rate of change, absolute value
Rate of change
Direction of change, -5/+5 gate
Saw/ramp pulse LFO (speed and ramp direction set by rate and sign of change)
Rate of change scripts should be relatively straightforward!
You would use the metros to calculate the average rate of change. something like this:
-- sampling time in milliseconds fs = 5 -- placeholders for the adjacent datapoints. oldVal = -1 newVal = -1 -- Average will be stored in here average = -1 -- setting up the metro metro.time = fs/1000 metro.count = -1 metro.event = function() oldVal = newVal newVal = input.volts average = (newVal - oldVal)/fs end -- when you are ready to start your metro metro:start()
That’s the basic idea! Then you can do whatever you want with the average to generate your output values…
You might also use the second input to determine how quickly you are sampling the firs tinput…
is it possible to have full access to druid from norns? would it take designing a norns script which “contains” druid and accepts keyboard input?
does anybody know?
Not hard, but norns screen is really too tiny (in pixel count) for editing Lua code. I guess single commands with line wrapping could have some utility?
Actually sorry, now that I think about it, there are a couple boring technical steps to make norns understand usb-serial devices that aren’t grdi/arc. But this would be good to do anyway.
Actually actually duh nevermind, crow already has a device profile on norns
thanks for looking into this z
even if the features are limited i’d say yes, definitely
sidebar: does it make sense to build something that approaches events/limited line space/etc in some of the same ways TT does? just addressing crow via ii or serial to control the i/o ports?
I’m going to hack a micro-terminal together for this today (hopefully!) amongst other bits. I don’t think it will be really useful in the tiny norns-screen context, but perhaps a stepping stone to exactly what you mention. In many ways it’s where I want a
druid or whatever comes after that to head – some combination of live-coding with user-definable macro gestures. Starts to sound like an instrument to me!
ok cool i’ll wait to see what that looks like before asking any additional q’s
An interesting experiment would be making a super high level teletype-ish language on Norns where the individual pieces of code expanded to larger chunks of lua code that get piped over to Crow.
an expansion of mlr norns for crow is on my mind. clock out will be amazing!
some idea fragments (that would probably need their own page in the mlr interface):
• “recording” cv loops via crow input. i understand there is probably a sample rate limit. incoming voltages could be quantized to some multiplication of clock rate (and playback with optional slew). i’ve experimented with mlr as a cv loop sampler/slicer using re::mix (max4live) with expert sleepers hardware and it’s TONS of fun to have the hands on control over cv like that.
• interface for crow output config. select type of output (lfo, rand, gate, etc.) and clock div/mult (riffing on pams new workout, i suppose). in essence, a performance oriented modulation section… the UI seems complex for this, but i’m happy to help brainstorm if someone with the coding skills wants to collab…
this could be it’s own norns script too… but i just love mlr for playing live, and the idea of expanding it is very exciting to me
Idea/request: OP-Z (usb host) connects to crow via USB, which allows OPZ to play and sequence Just Friends as polysynth over I2C. Saveable so I can go play shows by turning on my case and OP-Z without needing a computer.
Total noob here to all of this.
Sadly that won’t work, since crow is not a usb-midi device.
But I too hope to send midi from op-z to the (experimental) midi in! (for me via axoloti core as usb-din bridge)
I think that the OP-z is a usb host, so it could work! (Edit: got too excited, it’s a host for usb midi, and you point out crow is not a usb midi device…)