is there any way to clock ableton from a modular clock signal using crow (or maybe through some other M4L device I don’t know of)? I think ^^ins allows for CV -> CC and CV -> note, but I don’t see a clock device there. Any ideas?
What about using the CV Clock In device from the M4L CV tools in conjuction with ^^ins ?
will try, thanks! 20 char
I think ^^ins outputs midi (data) and the clock in expects dc, so I don’t believe that quite works. But that’s good to know about the clock in device because I do have a DC coupled interface that I could use for this purpose if it’s needed!
Unrelated, I can’t get ^^ins to trigger a note (with 0 - 8v and then gained to 0 - 10v square wave)
I don’t have a Crow, but I use Ableton cv tools with a Motu Ultralite mk4. I don’t know about other interfaces, but the Motu only has DC outputs. Inputs are AC. I believe this is for a security reason. Also, I’m planning on getting floating ring cables to use with the CV tools through the interface outputs as I’ve read that normal TS cables can lead to damage to the interface too.
Perhaps you knew about this already.
thanks for the info @level1. Does seem like an audio in on my UAD Apollo 8 (via MI stages 0-8v square wave) can control the CV Clock In M4L device. I’ll look into the damage thing I believe I do have some floating ring cables that I can use (1/8" TS -> 1/4" TRS?)
@jlmitch5, moved your q’s over here, as this seems like a better umbrella
I just spent some time experimenting with a few different “good” options for crow to Live clock and i’ve basically landed at it being just better to sync modular from Live thru crow rather than Live thru crow from modular.
if you do have a DC coupled interface, I’m a big fan of the CV Tools. CV Clock’s transport control is really nice. also, the CV Tools are all gen/audio-based, so they get higher priority in Live’s scheduler, which means less jittering.
easiest crow-based solution would be to turn tap tempo patches (like Chris Dobrian’s) into crow-powered versions of themselves:
<pre><code> ----------begin_max5_patcher---------- 3058.3oc2bk9iaabE+yq+qfUv.IAUd6bxYlB3OD2z3Bz0sE1agQgSvBJoQxz KEo.I0djf3+16bPQcQwCwQ6pjMwbo3xgu2627tmg5WewECFk7fLaf2e06SdW bwu9hKtvbI8Etn3yWLXdvCiiBxL21fQKyyShGLz9mVjJyjw4A4gIw2jJGmae Tb9kfgdPe8QJY0Qued0nBxG+4v3YaLBBRnuMr4Hhr5X4PhWNOLNRlaXBXwEC mXXojQe4UDzf02Yxx7cuU6kxebgzRuAiBhmMXCNJMXtLWldiLNXTj4l.UHil Go9x+1Kdg9vvVhZSiRT70JVbZRbdrhdl+z2mFFDMnFjAhMHiOS+KeClhPc.Z vjpgFzgflAC6B7LMIcdfgW82P7xB+EycAUb5QfWwx6Ur9J9NW9fg.CjOrH0C xApet7u7subJ7O+xoH0+veWufVL0ntRa.awUfscUsaMld5PoEAiu0Cn+uiCU rlhHFzfJPZ2QE3YHpLKHW1KsDf8WM.Gn8gC+yPzH+nfBJxJ8V2zTXm8EgDGg unmB73O85izZgRYaXsfwcV6.w6n5QXbtSQj4xrrfYx8fjooR4uHGpbzq++7O Gb+wY9HLXBjX+E3HPH5ypAzx4ijo8xbAXTQnftatfNwgteNQGBisA5P5dhMH 3ejQmhnvGO5.N6QmpcEOZ43ak4dXOXe.NHi1pzWp.4fGHfMt1fTOQApxVDEl qxsCoxAtW3CzDvhi6b1c7NpWoiWMz8gsNThMgy6mEGyVHJqygoXcDWT0DFj+ To1DN06kgPuW+ZOnJTtL1yXoeXv.ZyjAphfYJ2hv3.j.QgPcL7hvZcoHTP2i g6NoOU83kq8mTg7xIV4DBTxnPvEZYGdo1JCvXXeeNhKPJGwn5E8JzKTOxiKo W2I+iSStuFgGaaTiX+oZBnyyzB9Q38zpMdRl0yxSkAy8F+YEINtB.svCWbou Fdn9beDGCgHsSTqaBXWbe53nKPmlz+Oo7SuXY9mf+7kySlH+1uwhaeiRVUkA bI769oA8.Cs4CC8I0iZUYD4lR.fNMTi2TuQ8okBDnAH3rKocM4tiMVy1I3cB qdLSkBWtb9hDuWVSdbduIIZRK.JhwNicDNe4tQwA3REmnv6jWp9CZwruPCkH Jbd2Yng4Lno3xYA2ImbiUvtIHOOMbjxCbVA.UfPWL3lExzrvrbY7XaIElqaf VWo8ovqO6og4aT5g8.isoGSDFEOaKd5FFSOWU+zHTuAFJjuQi.6T9ftMH313 i4dThY7tKskQRzWeaPKKYY53UTZUNLdqElIxr7v3xE.5SqCjquoJmXZKkLOD XCTxjAY+IUKnjtUaNgPMAdPW.dr1LK4.532B5fcwTDA0BJssTmjNQUu6AWVR mS40ZPyCmrHQUUegMFAy0owv.5iDp+pOrOmB5EmpWNyF4TWLYfaCjrha5Gkf sfRENJ5Gg.sfPDm.dswG.yAhjdEkZdVRCvHWPoFcf5B+MHdK0G.GxXj5ar+P BSoEDUsEq9TeYMZGbte.dCX3FnuvvaV2FlO0WdqMFrqzW5GkfsUoq2p2f1Ro dKSsYhk6HB0XFOtHODHusNg5Mk7s9WpWyC4JJ0nSHnqnTiVS.WPo13SA6BBA ZUHcmHSsfPh8slrUtDrXwc5Rjs2sgFpB69RhI6I9PyGCisezTa0fT4cgqteS MTCBRU0rkqJXaYpsttG7s6CrA595kFuLrHoQkzoHYV9iQ6Vsz5RBWNIL4C4A 4Kyt4cx3k1Z2TR0zfkQ4aiDilMMLJZbRjk81rt+UkyMv9WGVb4x68SdfKQBB Dx0sZDCwLju4L0IT5Fp8EiAtZPDJQ.P5ak3iXDp4LNBSw5y.6LLzZZAfBKE. BNfXOScI8Zbr4vBhmYW7SDqrYG58EXxhjzUyopgJJu+k4IyRClDJiy2uAGCK TjRU+UCravjBLctBPCWMlMU71dxXd3C8cRnjAqFSwLeByzyWLmfgFvgrCtbj v4NS3NdRvkX8UKGGTGNuYiSTF0+6ExXuODDm48A47vQ5VnT5BPFImqXhsjcF 22mYzV4.HmaOinxOBskrOHSM3wZYb6Qi.9BioBzmgrp5b..t8rjosOlwcSXr 1qhrD4wBDzf7nR6GDSOYu8CXzrsHq.PfLggUETBiYYZUtkF1m5WNtsFEgQgX ycfDX0.sjEpjfcI1wp4dbpgk567ROGbFfx41y1CM1Uo2mBryA95eX1yrOoSh KjBXJX73cUlv5YQivRVwSZ+ljU.rSLHdG4JOHXitCdX6hoAqBHB2dieqidtE mCFt0ADsxd78ISW9bkbDjmeLBvIjgdvCh7dub1xnfhXi86o8iIodWEdmrNwr 54i5bLnTu0AlwNRruNU4szN5N3m88KGEda8tV2RmpUtCqcDeYoJAtogi2HEN 3gbPVmCH0YzpcPVuaUF442C4AxHXSQpKoDnzjXmL+i6XmhpRAnqwAqvmaiC0 IFIe75erCFG+iGmjlLSFesQYnNaDhODBrIKKP9DibPEPUTuZS..5iUJBl7NX Degn3LvNQx2dL5j4sIHvAXgAnXqRqe22LnJbHoc4XnCBR8sQ4zAoMOGwYfoQ CwdOSp+nZiCd853Tfxt23Vzmhg14c0z.xo4UDb4sxNni+8wSBhjduKINYPCY IK7AJCRi2TcZY1cwhdO7f2Vya6H9GT4uc46c.8353kM0ietxtyrxwgi6vDwa kwx6BFzinq6fubrfYy8FKDDXwYLJtFmKDg1mxvJOq4IkZ3ripSFvtIJtoJZd Yfn8OqOUQWoGCQ8NLZb5vk5puYiWG0p0X2f2f14YdIDCJNy4r0OTt+uNiXp2 FDF+0VxU5j7VEnd+ybOqkcenx3rNlaOMMXgA65CmDdBcVwT+yrnvIq1f6UyS UlpWKcQVcLz1N5c7kePOqOg30UxIcEq7aKauyc4R19cA4ogOLNOsidQNcLj9 0.5qmJ0tcTbdRc87uRlHyNUB1wDjtpnsNUfa1ERClwNka13UjqZloJeR6Gz7 DvZ+mvw4mH2sNkM0e+Tje1kswGFmrP905Wkp9aSsdA+DX8OmJcgqCF0Ukf1Z t+7o4bspZsQcNA5chVe3BANsNNtNYltTlNNobvlXdf4imzPQ+24Mr35OgIN8 wf6j5uZW9ZWcMWuN7laHzmAfdRP5suJNb1myekoa.cewQHk1xrxN9V16WtQJ cP+H+Cyxvenlt2xkasJ2JBJpncJTE1.Jhh4ZWjgo20kFRt9klvg8BqkXz1nC ABYFLwubJEZZ7XmaF1YQq0Ox0ku0C6z1acP8pxM0MYmnI+EyTsLE.fCb1iB0 EiiQQRUNF1cFyaRR1XoaGGICRaaitAMp9tFO26D20W21wg+tvs7tUZRclJWX 7sctuKZ2T7ReO3hEKYKOc6otrdgEM2NdyyZtwVsfjtvmbKHygzmGt0QGr7Ds mmdBSEwwNg2KaiVLATk24ZFkSLSt01cgOp2ntO2o8GoSJt4hAqzvsL+WZoev UJK00kOffTrQ.EBLmUbFi6z73ruCruIZob02g.srS95cfLqXiNrVBEaJWtjA SStOtybXiHuC4v+1iAcmAAHA0twRXLLFY2USHnxqs6Yv2lJkGAGZPuxdGA0e 6dvbOy8d4jNyZrR2rvxLM.HLEcBLP9exnnj6qmE2eSUQE..uNWnbD0tkQXbH 2D6PMFpayucKA.86QAvzB72pJdr6pHkU.SEHH0t6b1LBqSXvjnfo2Tj5eOKJ 9jsAZWrLcQ8sC7f0iyJ2QhDytww3jR6Ff1P7KB.IrM.B3KLFpHN0GwcI1mJG KCuq9UnpJ81xrSWKS.mWZYpMAl21v1AeGfqQk1Jygl36aafnJ9AqX+wpLDEN MRRlLdR14VDjr7QqqcuOFdOo6n87fEcfkuJHOw6JcNnCbF8yxkSWFEk23BEr 6FbkSoPamc8wLrc+85qrd76Se2bpPkeTK9wQlnNRUfqcKJhK0xwHAVve9wCY 1406ww8aTKW+dHO1AqmeHLM+Qu+9rF2Mr.8jholKbwbgxcbQ+za0aIQu1+qP g.3yKBEQJV+Ye.v9hkHNvri9qNtiY1w9tzZVNKMTksnPOv7klzK9sW7+AuB7 MY. -----------end_max5_patcher----------- </code></pre>
set it up like:
neither device is “toolkit-ified”, so they don’t send out to command center – but figured having a couple of starting points might help roll your ideal solution in Max
Awesome thanks @dan_derks and thanks for moving this, I saw crow strategies but neglected to read the “just friends” part!
I think for now the live cv tool will allow me to do what I was trying to do (have a “patch” using arps, strokes and survey in ableton to control the modular). My plan is to have JF (via i2c) and plaits/mangrove (via cv and gate) controlled by crow. I might also either write a script or mess with the snippet m4l devices to “complicate” the melodies.
sorry, missed this the first time 'round. give
^^r a shot in druid?
seems to work somewhat…If I pass it a 0v - 8v square pulse (also tried 0 - 10v) it triggers about 30% of the time. I tried different shapes to the pulse, durations, etc…didn’t really seem to change responsiveness. It did seem like a 50% PW square would some times double trigger on the up and down.
How are you generating the square waves (which modules)? How fast are the triggers? What is your CPU meter at in Ableton?
MI Stages unipolar 0-8v LFO, I tried a range of pulse widths from very very short to 50% PW and at different speeds, none of which seemed to effect the responsiveness.
I’m not sure what the CPU meter was on, but I’ll check to make sure it’s the only device active next time I try to test.
(For the short ones the lfo is actually triggering a decay envelope in another stages stage)
so today I was getting a much more responsive rate (nearly 100% of notes, no drift).
my first session I started getting this morse code looking midi where it was like short note, short note, short note, long note (sometimes 3, sometimes 4 short notes…pulse width of the trigger to ^^ins didn’t seem to effect it) and then eventually live being unresponsive to anything and crashed (I was at about 10-15% CPU, using a ^^jf with arp, ^^ins to trigger a note, and CV Clock In.
when I reopened live after the crash it seems to be working more or less 100% now, correct length notes and everything.
EDIT 2: Actually sorry, I had a note length midi effect device which was effectively making all the notes the same length:
the raw midi ^^ins is outputting looks more like the morse code I was experiencing pre-crash
EDIT 3: It’s also kind of strange, it seems like ^^ins is outputting at a slightly slower tempo than what the ^^jf arp line or the modular’s clock in is running at, which doesn’t really make sense to me (I’d understand “out of phase” with each other but I don’t understand “slower”)…maybe the issue is that each consecutive note generation on ^^ins is getting sort of a bit behind in the queue more?
That’s all I have time for this morning. I will say, ^^ins working rock solid, 100% isn’t super important to me. I got what I needed with the CV Clock In. but I am happy to keep going on the debug trail if y’all want to nail this down!
EDIT 2: So I need to do some testing, but I’m wondering if I am running into the ableton midi jitter on high buffer sizes issue with the above (it was the cause of some other weird midi issues for me). I’ll check my buffer size, try again, and report back if it fixes it.
oh, dang, i didn’t see all this, apologies. will comb through tomorrow, thank you for the dutiful testing + reports!
Can anyone suggest how to approach scaling Just Intonation frequency values in hertz to voltage to send to Crow?
Sending note values out to Crow make sense to me using crow.n2v. But the piece I’m working on involves long glissing drones and there must be a way to scale the frequency value directly to voltage values going into crow.volts, I just haven’t been able to work out how.
I’m not sure if this is better suited for the Max thread or here. It’s likely my lack of imagination/skill in Max that is catching me out.
Here’s a basic hertz to volts converter. 0V is ~440Hz. There’s probably a way to exactly calculate the 4.22 offset but it wasn’t intuitive to me. You can optimize it by substituting a constant for the math.log(2).
function hztovolts(hz) return math.log(2)*math.log(hz) - 4.22 end
Thanks for the fast response (and excellent module), how do I implement that (I’m assuming lua) function in Max? I tried messing around with the crow.function object but may have missed something…cheers!
You could recreate the function in a gen object. Once you have a conversion from your hz value to volt you can use that instead of the n2v function.
Just use the [ftom] (ie frequency to midi) object.
ah yes that’s much more practical! I tried converting your lua function to a gen object yesterday but I was too tired to think of this