Thanks @dan_derks for the supersonic answer !
Ok so it’s barely usable with audio parameter ?
No offense but how would you use ^^ins for ?

this generally seems to be a Live + M4L issue: https://cycling74.com/forums/lfo-controlling-ableton-track-pan-clickingpopping. the specific trouble is that the information Max receives from crow is not audio rate, but data rate. so, this is essentially MIDI CC happening super quickly, which Live doesn’t seem to love and I didn’t have the foresight to consider with my patching – I think I need to refactor this to use [live.remote~] rather than [ctlout].

fwiw, ^^ins is an attempt to shoehorn crow into a form it wasn’t really designed for (primarily, that of a DC-coupled audio interface) – but it seemed like a good enough use case that it was worth exploring. apologies for the trouble, both!

my primary test case for ^^ins was to quantize LFOs to musical ranges and modulate non-audio parameters – so things that typically looked for other data, like menus and sliders (eg. the waveshaper on the Wavetable device).

this was all tested working when I did this stream: https://youtu.be/dKMO1Vg0heA?t=1313 (linked specifically to the ‘^^ins modulating stuff’ section)

i’ll have a solution brewed up by friday! if anybody’s up for helping, please lmk! these patches were made using a super old version of crow and they do not take advantage of the many firmware improvements trent’s released.

(pinging @emsahp as i edited the text after posting)

3 Likes

Thanks for looking into this dan, I was scratching my head about the grid/cv latency I was experiencing when trying to sequence ableton. Being able to sequence all the virtual instruments I have via kria would be amazing. No rush, hoping this isn’t a headache to address, your efforts are much appreciated.

2 Likes

Thanks @dan_derks
After updating my crow to version v1.0.3 ^^ins seems more reliable and stable
Most of the time I need to execute ^^c and ^^r in Druid before opening Ableton and M4L for everything to work properly.

I’ve manage to use ^^macros and It’s great fun !!

With ^^outs I’m reporting exactly the same behavior @benjaminz
==> after around ~3 loops of my 1-bar clip that contains modulation of outs 's remote value, my crow becomes unresponsive.

It would be really nice to be able to use ^^outs remote knob as a simple CV recorder in clip-automation mode so we can do super weird shapes and really longue automation sequence !!

2 Likes

glad to hear the update cleared up the ^^ins troubles!

as mentioned in that clip modulation convo, Live is very likely treating clip modulation as audio data, which when funneled through as data to crow is likely too high a resolution to keep things stable. that’s why the LFO MIDI device is way more stable, as that is always “just” MIDI data.

the rest of this week is all crow m4l stuff, so i’ll keep poking at it. i’d really love for this use case to just work, as well :slight_smile:

3 Likes

progress!

here’s a new ^^ins: ^^ins.amxd (1.5 MB)

  • improved stream handling so that you can map cv to audio parameters without anywhere near as much zippering (paging @emsahp) ! (nb. some parameters [like panning and gain] are simply not internally smoothed by Live, so modulation from Max will always cause clicks – I’ve managed to reduce this a lot by incorporating the brilliant jit. smoothing @pATCHES made for Survey)
  • cleaner modes: there’s v/8 + trig (inputs 1 + 2 work together to sequence) and both (inputs 1 and 2 are tracked and can be mapped to any Live parameter).
  • v/8 + trig accurately track v/8 cv data and triggers – this version siiiings, @BKCP!!

as a data point, here’s a clip of two channels of just friends modulating Operator’s filter cutoff + track panning:

I still want to add a ton of mappable buttons, but the core functions are all here. it’d be dope if folks could test to verify:

  • v/8 + trig is fun and working as expected
  • both can get into some nice zones by tuning the d(epth), o(ffset), and s(lew)

:revolving_hearts:!

8 Likes

@dan_derks Thanks so much for tackling this. Ive downloaded the new ^^ins to give it a go, the “both” mode looks to be working perfectly, but v/8 +trig mode doesn’t respond to triggers and cv. The voltage values under 1 & 2 show no change. Going ansible directly into crow 1&2. Tried ^^c and ^^r aswell to make sure the crow was clean. druid shows input 1 and 2 values and it looks like cv is tracking properly, watching the gate values show maybe a 70% chance of changing from 0 or 1, not sure if thats just the refresh rate of druid or something. Im also getting printed to the screen every few minutes. I left the patch cables plugged into crow and tried patching to different cv/trig sources, and interesting enough ^^ins gets a single or sometime small burst of triggers when i touch the cable to the jack another module, but when i plug it in fully it doesn’t respond. Very strange. again the “both” mode seems to work just fine. I have two crows and this behavior is the same for both.

hmm. input 1 v/8 and input 2 triggers?

1 Like

Yes, cv into crow input 1 and gate into crow input 2. coming directly from ansible, both kria and grid, aswell as levels and arc. Two different ansibles, same behavior.
is there a way to check firmware version via druid? Im on the latest, unless it has been updated since I first mentioned this issue in the thread a few days ago.

[SOLVED]
Ok, so if druid is open the crow isnt responsive in ableton. quit druid. CV and triggers work.
wow, this is great, fantastic job @dan_derks! Much appreciated!

1 Like

oh, yes! yeah, the stream gets all wibbly wobbly. thanks for your diligence!

excellent, so glad to hear it all worked out! give it a go for a while, lmk if you run into any weirdness :slightly_smiling_face:

1 Like

Hi there
Thank a lot @dan_derks for the ^^ins update
Both mode works great and the slewing function is cool

About v/8+trig the docs says :

  • (trig src): identify whether you would like the CV conversion to take place synced to Live’s clock (arpeggiator) or if you’d like the conversion to take place every time a trigger is received through the OTHER input of crow
  • low: set the desired floor for CV-to-MIDI, default is lowest note at 36
  • high set the desired ceiling for CV-to-MIDI, default is highest note at 127

When I’m selecting v/8+trig none of this functions appears in the interface, I’m kind of stuck in both mode visualisation :

Capture d’écran 2020-05-09 à 12.35.33

More globally I must say that each time I’m trying multiple M4L-Crow plugs at the same time, Crow will rapidly freeze.

ah, the docs haven’t been updated as this isn’t officially released — thank you for helping test! hoping to get it out this weekend :slight_smile:. i updated the post above to reflect the new-newest version.

i did forget to add back the low and high stuff, thank you for identifying that! i’ll get it into the device, which should help confirm mode switching.

otherwise, when you select v/8 + trig mode, the interface will largely not change. this is to encourage mapping v/8 data to MIDI CC – modulating a filter cutoff with the pitch data, for example.

i’ve had this bundle running simultaneously for the past 30 minutes without trouble:

  • ^^ins translating both inputs to MIDI CC data, mapped to filter and resonance on Operator
  • ^^dual translating MIDI note data from Arpeggiator to v/8 + triggers
  • ^^jf_synth translating MIDI note data from another instance of Arpeggiator to i2c commands
  • all on separate tracks

please log any reproducible cases here: https://github.com/monome/crow-max-and-m4l/issues and i’ll definitely be able to keep digging.

fwiw, ^^outs is not likely in working order at the moment – so if it’s part of the trouble, i’ll take that one on next! that particular device crosses many of the “is Live handling this as data or audio?” speedbumps – for example, automation envelopes seem to be processed as audio in Live, since they can smoothly manipulate parameters in ways that Max for Live cannot.

bummer, but at least it’s consistent! agree—lots of neat possibilities should it ever become more stable :slight_smile:

2 Likes

@benjaminz + @emsahp!
here’s a “knob-to-cv” device that has passed 30 minutes of modulation testing, would love your eyes on it. if y’all dig it, it will be brought into the main ^^outs device.

testouts.amxd (57.4 KB)

i ran envelope lanes that looked like this:


…and it was really fun! more importantly, no crashes!

when you load up, the device will look like this:

Screen Shot 2020-05-14 at 9.12.59 AM

choose an output from the out dropdown in the top left corner and if you wish to clip the range, adjust min and max to taste.

smooth

i think what was happening with the original device is that I was trying to provide as high a resolution as possible, but between the scheduler and what ended up being insane traffic to crow, knob modulation was super unstable (you could crank it with a midi cc fine, which was how i was originally testing, but that didn’t turn out to be the primary use-case in practice).

so, what i’ve done is limited the number of messages sent to crow and leveraged crow’s internal slewing as a way to make up the difference. resolution seems totally workable, but you may find that certain scenarios require different smooth times. for example, i found that 200ms works nicely for fast-moving data, but 1s was required for those nice long swoops.

anyway, thanks for the patience and persistence, y’all. hope this works! :crossed_fingers:

4 Likes

ahh thank you!! can’t tell you how excited i am to play with this. will report back!

1 Like

new ^^ins, please test <3

cleaned up + formalized @emsahp’s feedback:

Screen Shot 2020-05-14 at 1.54.56 PM

v/8 + trigger: cv-to-note

Screen Shot 2020-05-14 at 1.57.04 PM

  • input 1: v/8 cv. low sets which midi note 0V equals, high sets upper bound of midi note range.
  • input 2: triggers (i find the fourth duration on kria works well), will fire off the v/8 cv as a midi note. crows will also pulse :slight_smile:

nb. press more > to map your v/8 cv and modulate Live parameters in parallel!

streams: cv-to-cc

tons of modulation routings!

  • d: depth of cv-to-cc
  • o: offset the scaling of received cv values
  • s: slew the cv-to-cc conversion, to soften clickiness/steppiness when mapping to audio parameters (like panning, filter cutoff, gain, etc)

press more > to get six total channels from crow’s two inputs (1 and 2). each of the white 1's and 2's can be changed. so you can have three 1's and one 2, for example.

seems super stable on my end, would love a bit of real-world testing before release, though. any takers?

^^ins.amxd (1.5 MB)

9 Likes

looks awesome. I can this weekend (either before or after your release…a bit swamped with stuff until then)

1 Like

@dan_derks

note responsiveness (as in number of dropped notes, midi jitter, etc.) at low sample rates (the problem I was having before) seems v good! I can set the trigger quite high and it stays locked in. If I really load up stuff and make the clock high, I can get some lag of the notes for a brief second messing with abletons interface (i.e. scrolling the device bottom bar with lots of lfos and stuff), but it’s definitely tighter than it was. Can’t remember if I tested the old one with the high sample rates (which causes a lot of midi jitter in ableton for me), but I’d say :+1: on where this is at now.

the note length generated seems very small…you have to zoom in a lot to see it on the transport. I’m not sure if that will cause an issue or not. could be nice if the note length responded to the pulse length rather than triggering a static note length, but no idea how difficult that would be (current behavior is fine)

the low and high controls seem to work as expected, clamping the values to the range.

DOS (atleast while in note mode) seems broken. I tried to midimap a param to a 0…5v offset knob and set low/high to 0…5v. I could not get that to map to a knobs CCW…CW state at any DOS values (It did some like turning things was doing something to affect the range, and I could get the voltage to affect the param somewhat…think there may just be some math issues there.

Random thing…it does seem like the gate length of my pulse to in 1 affects the pitch slightly to in 2. Larger pulse values seemed to be a semitone up (and I could dial in a pulse that would randomly switch between the two notes. maybe this is a hardware thing…some leaking of the pulse voltage from in 1 onto in 2?

1 Like

hey john, thanks so much for testing!

awesome, so glad to hear we got this solved :slight_smile:

yeah, unfortunate side effect of Live’s de-prioritization of raw data (vs audio). crow and the m4l devices are 100% data-driven and can manifest the hiccups of Live’s scheduler. it’s sorta the same thing that happens when you load a few of the built-in LFO device, for example – the redraw is de-prioritized as you load each one and will hang for a sec. from what I can tell, data to/from crow is essentially as important to Live as redrawing that LFO window :confused:

the anatomy of the patch is pretty much using a change event to sample the current input value and execute a note. i couldn’t see an obvious path toward sorting out what’s a rest vs what’s a long pulse (especially in the 1/0 paradigm), so currently the [makenote] has a default 10ms duration. but you can throw Live’s note length device in after and dial in your preferred length! :sparkles:

having a hard time repro’ing the trouble you described…but perhaps it’s worth mentioning that any slew you add is going to reduce the dynamic range of the control? here’s a quick test of a cv-to-note-to-map that is sending 0-5v map to a 0-5v knob, with various slewing.

reading this, it sounds like you’re sending pulses to 1 and v/8 cv to 2? the device only supports v/8 in 1 and pulses to 2. in the intended config, i wasn’t able to repro this with ansible running kria. i got expected pitches with every length excepting the super shortest.

feel free to reply here or github, thanks so much for the help!! :revolving_hearts:

1 Like