^^ crow: max for live + max: updated 210630

hey! yeah, this is more of a general Max patching question (since this is about routing MIDI in Max – crow as an output is swappable with any MIDI destination) which would get the best attention/advice here: Max/msp & max4live (the thread)

i’ll think on it a bit and see if i come up with a good solution in the meantime :slight_smile:

Hmm okay well the messages are all telling me the right things (including the thing you showed me in the other thread). But in reality nothing is happening. Pitches aren’t changing, and output 4 seems to just be outputting max voltage nonstop no matter what i change the ADSR paramaters to. Tried refreshing, turning off, turning on, etc… not helping this time. Also I tested ^^outs just to be sure my module is working and it is, ^^outs worked fine.

Also Max console says “error opening serial port” when I try to select my crow.

hmm — could you please post a Copy Compressed version of your patcher here for further troubleshooting?



Update, I have been using this alongside the Command Center this whole time. I guess maybe I only was supposed to be doing that for the built-in m4l devices? I tried using this Max device without ^^cc and it sort of works, but the adsr behaves strangely. Sustain seems to affect max volume/voltage. Also when I let go of the pads on my controller, it triggers the adsr again, although this time it goes on forever, no release.

For now I’ve substituted it for a velocity sensitive gate to patch into an adsr module in the eurorack. At least i’m able to produce melodies and play around with this setup a bit.

hey hey!

AH, that’ll do it, yes. ^^command_center is only necessary if you are not supplying your own [crow] object inside the device – it has one built into it.

if you’re going to route to ^^command_center from another Max for Live device, instead of using a [crow] object, just use s commands_to_command_center with an index so ^^command_center knows which crow hardware to talk to, eg.:

all of the crow m4l devices are built this way. ^^command_center is necessary because there can only be one [crow] object running at a time. just like druid – it creates a special bond with the hardware, so having multiple [crow] objects talking to one hardware destination creates the connectivity + communication troubles you experienced.

yes, it was not patched properly – but also, crow’s adsr operates as a description of an envelope, rather than one which waits for a note-off event. so the timing of each stage just executes linearly, after it is triggered. i will work on a traditional adsr patcher, but I do think that using an external envelope module with a note-on-to-gate patch would be best – and i’ve posted a thoroughly tested one here: ^^ recipes: max / m4l snippets for crow :slight_smile:

1 Like

Very cool stuff, and thanks for the insight!

Wow! This new geode mode is a lot of fun. The Max device makes it so playable!
Thanks @dan_derks
Can’t help but think this would be a fantastic Norns app. Even in its current state this would be great but with a more fine tuned UI/grid interface it could be a really cool poly rhythmic trigger sequencer.


Yes, I was thinking this also - that UI + some built in modulation sources / cc to change the numbers, as a Norns script


I’m starting to work on some Max patches for Arc and Crow. I’ve noticed if I send crow.volts values outside the range of voltage the module locks up and I need to unplug and re-detect it. I started to prevent this using split to limit the range of numbers I send.

It feels a little silly bringing this up because it must have been discovered by now and discussed but I haven’t been able to dig that up. Putting this here in case it can help someone else or if there’s more about this I should be thinking about.

hey! honestly, the crow-dot library was all community contributed and just hasn’t since received the right attention to get up to speed with 2.0 — i did some basic tests of it when releasing the m4l 2.0 devices, but nothing that would’ve caught something outside of “does it work under expected values?”, unfortunately. i feel badly removing it completely from the distro, though, and would love someone to take the mantel of that library’s maintenance.

good news, tho, is that crow’s 2.0 firmware makes the crow-dot library largely unnecessary — tons of additions and improvements to the core library that can be addressed using the sprintf commands that are demonstrated in the crow object’s help patcher.

if you have a specific thing you’re trying to do, please feel free to post a patcher — it’ll kickstart some good dialogue and i’m sure we can get it to a good place :slight_smile:

1 Like

Sounds good, I wish I had the skill to help maintain that library (I agree it’s important to keep around) but I’ll post a patcher if/when I run into a wall. I just updated to 2.0 so I’ll be sure to explore the world outside of crow-dot.

Thanks as always for your great work!

1 Like

Hey all,

Question about the “polyphony” aspect of the m4l jf_Synth. I have one Crow attached to Live. Just want to make sure it’s reacting properly. When I hold down three notes in an arp plug (just like the demo), all three notes play out the Identity output on the Just Friends. Is that right? All the vids I’ve watched seem like each note gets it’s own output from Identity - 6N. Is that actually what should be happening? That seems more polyphonic to me.

Is there a reason all notes are being played out Identity only? Or does polyphony mean Just Friends can have 6 different outputs (identity - 6N) of data at once? Part of this is me not knowing how Crow/i2c works. Can that module send multiple data on multiple channels at once? Firmware is updated all around.

Thanks in advance for the help!

1 Like

Not at the modular right now but that could be right if the gates output by the arp plug in don’t overlap - if you play a chord, they should come out of different outputs?

Hi friends. I’m trying to essentially recreate the wave table envelope generation of the double andore with max and crow. Wondering if there’s a better LFO designer than this one, or if this is the ticket: https://www.ableton.com/en/packs/modulators/

Oooooooor if anyone knows of a wavetable lfo type thing in max.

I’m trying all this out for the first time today, and have the same question. Is there a way (say, if one was using Live’s arpeggiator) to have jf cycles through it’s outputs? Right now outputs 2-6 are only engaged when actual polyphony is occurring.

A quick workaround is to assign a random waveform LFO to the “voices” selector on jf_vox, but it would be super cool if this worked “in the box”, so to speak.

Or maybe I’m using is incorrectly :grinning:

no no, y’all are right — it definitely used to do that and was changed based on feedback from v1.x

@mattlowery + @nmihalevich, here’s the older version: ^^jf_synth.amxd (82.2 KB) . the limitation is that it only works in transient mode because the notes are allocated by JF itself. the new version allocates the notes in Max proper, so it’s easier to manage the note offs.

as far as the github repo goes, we can either roll this in as a third JF device or someone could build a meta JF device that holds all these modes – the latter would be an awesome and approachable project for anyone interested in crow Max programming. basically can Frankenstein the existing devices and use [gswitch]es to route messages. a nice opportunity to practice working in the frameworks established + add to the repo :slight_smile:


Ahh cool cool cool. Makes total sense. I dig having both on hand, as I can see how each approach would be useful.

I’m kind of in love with with max LFO voice selection thing though, after an hour of playing with it. There’s a nice little accentuation each time “all” is selected. Happy accidents!


@dan_derks - Thanks for the older version download link! I could see how both could be sweet.

Another question concerning jf_synth. In the new mode where all notes of the arp coming out a single JF output (holding down a triad chord which comes out identity for me), is it possible to utilized the other five outputs (2-6)?

  • Would be super sweet to mult the same sequence to the rest of the outputs, or have the outputs create different combinations of the arp playing out output 1?

  • It would also be sweet to assign each output to a different midi channel so you could have 6 independent output sequences being sent out Live, then the 6 arps could react to one another when turning knobs on the JFs in some way?

*Or if the main sequence originated in output 1 but when you turned certain knobs on JFs the notes would start to disperse through more and more outputs, like a fanning out process of the notes to the outputs.

Could Crow facilitate 6 midi channels at once to JFs? I suppose each output would need it’s own command center?

Just spit balling here. I’m totally naive to coding, so this is probably really annoy to people who actually now more about the back end. haha.

these are great ideas to explore! this collection of devices isn’t meant to box in, but to provide a framework for folks to build their own unique use cases :slight_smile:

i’d say just rip into this! you’ll want to go through the druid studies to get a handle of the syntax and go through the [crow] object’s help patcher in Max to see how to apply that syntax inside of Max’s visual coding environment. I cannot recommend Matt Wright’s Kadenze course highly enough. you will walk away with a full understanding of how to program in Max, for free :sparkles:

you can ping here for help if you run into any specific questions or hurdles, and you can share any helpful snippets you land on here: ^^ recipes: max / m4l snippets for crow

yes, though depending on how much traffic you’re sending you may find that you can only do 3-4 channels.

1 command center per crow. you can load as many of those m4l devices to speak to one crow as you’d like (or until things get unstable, depending on how much stuff you’re slamming into the stream), which all route through a single command center.


…this is pretty much already possible using other MIDI-generating/affecting M4L devices ahead of 6 jf_vox devices each set to speak to a different JF channel! it’s totally valid to build a group of jf_vox’s and set them to receive from the same MIDI track and throw a few of Live’s MIDI Effects ahead of the incoming MIDI on each channel:

this sorta stuff extends the crow devices so much – i always have a Random ahead of my jf_vox’s :slight_smile:

hope this helps! let us know where you get to!!