^^ 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?

Summary

----------begin_max5_patcher----------
3060.3oc2br9iahb+yIR2+CHKcR4jbbmGL.Sk5GtzqWNoto8TxVEUsWTD1dV
GxhAK.6c2dp2e6cdfwfMOFiGrcZhh2I.C+d+b9482+tW9hQSiehkNx5Oacm0
KdwuyuxKjWSbkWr8BuXzR+mlE5mJevQQrGim90QiyuWF6oL40CC1vlL0O5gz
h6EsdYPTHKStQXoqFuN6fKGLW9Z3u6WCKdCpGL64ULERNZj0m1duU9Yy9RPz
hOmvlkotsK.NAL1h..xe3J9DwWa8I4d9ue2KE+j+iwmL49mrf.NXpmVQ5SqX
6lI16Ci8yZmhcvfI3R+AQ7Fa4IIeax.R9YVSst+nDzn5HdbyDOWUZwnw5wDP
dSbJ8GWazXKHTxEPzIjqct.vHbAB9BwELlo.7jLEpk9+lwT.QMhRfssifT+V
Rri7NIwdNEeFDzFifcOIBFSvkDwCJEOKI9whqtJgkxhx7yBhiJgNPjDa.Rjx
FrCaNFKBbc.oQ9mSK4GLdm4R6rQEdmmpPY713bwzUIAQY2ak9rfjs9MAVuZc
1c3OMYSbXVp0ewJBs4UeevO7ai5vOx8wQYQ9KkT6neLIvObTG5chcbu+LViL
SReS1x1QxAsyc0.bOTzK.dZv+QAb9cNarVzUAq0turVD18pk0BuFXsd8kyBu
75rIbTlYAsPV354a10ybrqSEC2tqvh+oASAikgRbn1CnuvU9ydvBH9a8zN9H
BihNMk.DVpD3Lnjab3yV3lHVzQHnaI2XtYpPFW8GgAoY5vEfDoT2yY.yTbcj
TrGXEb5oICzhOzNg65VhxITCH+kM+XdYGaa7SJb4kvBY9ortxjB4QOrVdjJ+
DYeMr85NupU9IbvlwR9LKxeZHSG9qNIcA8Z2SSe6UAB0D8k5ugM+y9YYIAS4
dL2sJMWRrUTHX1gqYw2u85E2nL6H8KwIYMIRp7jaoLPc2bcTPVZ1ygM+DgAQ
OHfSE4RkmXIWvsM7Rsug3nEZgoK4JgpWjnvDP9Sjq.uag40nSWml4yIhtpMf
5dXI4WMZztmrFcssb3BoQumH4JVitML8hoQOmMy+4N0mAEUaeUnA6bxZv4cO
4BoyVgoeEqw1LddwzW4xAdNU50blqF8UxIqul27qKj9ZUl94UgshBYKHx.pQ
xQuT+ErCSvun4.1e5UV9ySSdEGxtdiISHD3X2IDO3XzDBv8GrJ2sfFTZo0jl
Xd+EQc1fwt5CqV5o8twM4kVjWZI5hzVwBYv2OAe+3peTk+qSWGpk+z6Juw7Z
tNT15leXECYk3KClGvMRJUElNkf5UG0C0qmKUqGu7RMJKmJSzfhFvpxEbjRo
v26CquiJx0oySjN5Au5cviHFcvzJHeoharGKHMdcxrs3QdKCsJ4zXNKMKHpv
Mvc6NZAqVY1ZCOwA62M.Em.to.HVG.JrcMI.gZAPrY.HTKVJvbTH3byRAZyR
QFAfhic9rRgR.pGEBMC.0yvmZNJz8byRImYWaH6yM.0x01dB53j4rDYJgmML
XeIQAJ.LEJfzEENezrcCzLzTn.TWTvD.DoEMatn1HshogPlEfPs.Hzb.DoE.
MTLM8hZaNkFnVgXvFDfZEhYa5Rl.fNZok5YN.pWLMWyAvycLMHRasTyXGB0y
SCb.cmqIJ.FvnnP8bNTuoSdcn9qVsgkjluEEr30b+03jc8LfWdcj5+qJZdTB
aSv1snlxgQ9I75gy3ECuNQ0Vumbx67znkwbZNZcvVNufZEfV1Ew8qAd2r0rd
dP7Gx7yVm942whVmWYNmHu2ecX1d7loKtOHLbVbnBOqzazsEwORc6sMZbTwS
emEXBhZCgdbF0DLD6hbjq3KHjxQXx2Db6trI1T.R7r1NHWahbkGBSvhUf82G
ZGz.PpBF.pGvVsheIHGZU1mezBUqVQtk5t+nUIwqhS1Jo4altaGqyhWj3OOf
EksSSqbyRGuUOKg+HE8xcauzFsjydCJ1YUcyphmkAOY.wRAx1.SF65X6BkrH
OaLTxrr2mO0W96dJAFWrLHL+aVOye3X78jIVHu7JLE7bADOO0JgnqcglCgCF
wCqN+Y0J0qZ3rIpat93NN+mqXQVevOJ05CrkASiCmWp4eSWTgOQA1PWpjJoD
aWIh6YintRd.wY2F8mMii.U1LFwcgH4r1aIegWGw0JSziXgrk6uWWONaRwnA
POO0J9qAg1ayU1ksKAhkOKhh4XrbEABb1GjobXNSvNqBTD+Ik3IzwEo7y4A.
v8rHk8lUtwOGDIhvvJTqvTDzQA0sdOQkUOLokx6ruwBBrdiP.1pASQP2JDKX
bkOPjpyV41w57txEgTdnKuSdlrFlj7yxZmVtfn1SVPj06YKVG5uMR6o+J+43
DqaB1v5iDrMsMt+EQvdrYYB2lvcandCWu9naHlJ++R5UPUNqz875g98qmF7P
yNkaGYKQk04TtSWTkcx8007rtuOXVo7tgs62thWk5cZdzXxQDQx0tQOBHs7f
eH9aR6mOd6O2OCcgorLtDBRbTwTEoeH4YzxJJWPyN8h1ecTtPCFd+xyyShWv
htUxqZx9C5f4dXjhCWaGJMeEX+jLpw5i.3NmjZWNDLT8N3xTjNoDY6.g.UYX
TjisjmQnPd5msYu.Ek7oxVyCvs3jVIaK9qouPEbyEOSq66O4gdEki5.3NEjl
4hDlk933FAdN38T92SV9iQy8CYVuKNJtYQol4keJY2VMikNyAsMx039ijSeP
vrSN8wJDbu6WwtprvTWUoUXJ0FluxkfGjJi8JhCc3pSsx3FzMeKKhswuY0RM
Y.0oVZSEl4iqcUKENo6tp5kfdEDSMWG9MqyxhiZWStDICUHjWgJCHe0Pge+z
tID8JD6dqePzenM5IxrdarjCWMX3X5iAbOQsikGXQ.yU518wPhbnqSr6umFF
HZNeG0rooC9ZSNoGtcpi3aO3XmPY.3c2v5n8J0wNbZj4cnU9P6Y7c9YIAOMK
K4n8+L3XlXRn+iiRqrSGOmjR5.Pi+i34rziWApegw0MUl5BiODztNtc5voyP
fVqWNsKrpN+OGFUd3vweMXVlNbuqE07eULu9YWuI37gYwqXGmqldlIcwIDQk
iN+.qmbq+ziWAQa2DWb0pa40TLUiL6qoPHf1gfG97utMdgnxwiVP0XqraRFc
IxK+esryQX37yw+n+F18wIKMZQM8O4TvDhYIy49IO75nfEeI60x9yzmV3XWX
76Vz+8hNw6IwbyzZ4+OabGZo6KTBJueMDNkBxCsUSLiCNMjNmr.Sp8Djrw.G
Y7UxAOz2YxP+8cFN4A4utkTmkeycETSDtNEScazcUsYaHzUJQbJjMPYCpa+r
C.WAsE7qRUXVB..GY12GpOlN63+GrvnsNukSk.7soW18MTlFx3oCpFfo2DGW
9bxmEx7Sz8PZ.sUOLwzJiAQOzO0lwU9zLGzRwaWXL6UXFhyO5odLbEWumvqI
8g1M6p9lApw9NHe.c1zwugCLP1c7vxmGWdkF471FPMoAzCpdg7QwbXe0TpQn
H8acpNc+dXBn14ylHkh8byW45oyT.3TjgNovQ1ViRiSgpuS5uIbMq3W165W.
NF5lOlD6vY5.ioIwOF0CT8BvT+qO62GLEfnD0ne35hwH03Ogfby3ACSeaBi0
KTUxOKZBFzQ36cvvx2yl2CbzsHHFrHAA.BSPzACQ+2rvv3G6At5gHpIFx0C5
ICACHbkgNliGj3o..uAjTPeaSJxSC3s7Ju5i9SQU9DJBRTCzU4baLIltZcxp
t5h3AgZrAHppyN.GpTSG4QbPd5NR6tECVpsbLjjNbDVxjAfBSXyXAa557xpS
gpHYtcXInb8sFEKUIi71NG798DFcprTedc1NNpVHx8y6lOvqbaE5P3wOkEMO
8p0SeZ1zRky27WPft5qxE6KQPl+piB6uwOK15FQZliLMhjlwtecXXlFmLw9i
+pGg.UcK1A6hUSvsC2Zy4j5kzPPd8f5P7pAUiVJtPgFinXpmIRN+Jf0vRuV+
J17X4p6N82zy8ogKPJE33kG9vN+roc..02ollm13eJHI6Yq+1hxyZb8kLCDB
aY0e3bYLOxP9wFzR1OXGsBW2Ued6q7J+qTs7z0j+BPbUtFh7WqYe2K4Ox+Cf
0To6z
-----------end_max5_patcher-----------

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.

3 Likes

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

2 Likes

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:

2 Likes

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!

2 Likes

@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.

so…

…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!!

7 Likes