How to record 16+ logical channel outputs from Max into Logic Pro (without Rewire)?
I'm trying record 16+ channels of audio from Max into Logic Pro X (10.4.7) (Mac OS 10.15.17 Catalina).
I have a [dac~] object with 16 outputs. I was using Rewire, which was very buggy. It was able to get Logic to recognize 16 channels of outputs from Max using the ad_rewire driver, but no audio would send, and the audio driver in Max (the power button in the lower right of the patcher windows or in the upper left of the Audio Status dialog box) would switch off spontaneously after a few seconds. Sometimes Rewire would work if Max was only sending 2 channels of audio.
Now I'm using Loopback (which I've heard good things about).
I think my problem has to do with Logical vs. Audio Outputs. I think the [dac~] object creates Logical Channel Outputs, but I/O Mapping in the Audio Status dialog box only deals with Audio Outputs. And I think Loopback is only recognizing Audio Outputs from Max. Logic recognizes all channels from Loopback.
So I'm hoping to figure out a way to send the Logical Outputs I've created with the [dac~] object to Loopback (or directly to Logic would be fine, if there were another way to do that). Since Loopback seems to, at the moment, only be recognizing Audio Outputs from Max, I'm wondering if I need to get Max to "think"/act as though it has more Audio Outputs than it does (though maybe that's the wrong idea, and the whole point of Audio Outputs is to have 1:1 hardware/software relationships).
Any tips or ideas would be very much appreciated. Thanks in advance for your time and attention.
—David
In my experience, loopback was somehow interfering with the Audio in Max. I had to delete it. It was somehow distorting the sound, and I never figured out why.
I have recorded tracks from Max into Logic using Black Hole, which has 16 channels. I only really used 4 at a time, but it should work for 16.
Select BlackHole as your audio output in Max, and as your input in Logic., and use your interface or built in audio for your output in Logic.
Depending of your Mac and sampling rate, Blackhole should work with 16 channels. I recently compiled a version of Blackhole with 48 channels and could used all channels (@44.1kHz).
Thanks to both of you. I did get Blackhole to work, with no fuss, and for free! (I'm asking for a refund on Loopback, but that seems unlikely. : / ) Blackhole did output 16 channels (I didn't try more), and I could easily route them all individually to Logic and record and monitor audio through them.
Unfortunately, though, Blackhole's input monitoring has a ton of latency (a performance-prohibiting amount). I wish I could simultaneously use Max's headphones audio output (for monitoring) and Blackhole (for recording), but the Audio Status window only offers one output slot.
It doesn't seem to be Logic introducing the latency, because it monitors other inputs with very little latency. I also tried monitoring Blackhole through Loopback (which also demonstrates very little latency while monitoring other inputs), and the same latency was there.
Any ideas?
And of course it's frustrating that Rewire (and the ad_rewire) driver is built in the Max, and it looks like Logic knows how to use it (I can route 16 channels from Rw: Max) in it, but it doesn't actually pass audio. Sigh.
Thanks again. :)
Also, if anyone comes across this thread and has other Loopback and/or Rewire tips, I'm still interested in those as potential solutions too.
I would try to set it up so you can do your live performance in Max, have the audio go out through Black Hole and into Logic, and monitor what you are doing from the output of Logic, to headphones, built in audio, interface or whatever. I have done that a lot and there is no noticeable latency.
Also, you can lower the buffer amount in Logic when recording to lower the latency. Maybe it will make a difference. I normally use 128 when recording.
For what it’s worth, I wrote a blog article some time ago on exactly how to do this using gig performer (our product) and logic. If you replace gig performer with Max, the rest of it should be identical, including input monitoring from Logic. Works very well with Blackhole.
https://gigperformer.com/recording-your-gig-performer-performance-with-a-daw/
This is how I get around recording multiple channels out of Max
Thanks again everybody! Nicnut and DHJDHJDHJ, that's what I'm currently doing—sending audio from Max into Logic, then monitoring through Logic (through aux tracks because I had them set up for Rewire, but I could use normal input monitoring too). But I'm encountering very significant latency (about 351ms, or a beat at 171bpm when I tap-tempo the delay). I/O buffer size in Logic doesn't seem to make a difference, even down to 32. And as far as I can tell, Logic isn't the cause of the latency, because monitoring Blackhole through Loopback demonstrates the same latency.
Tom Hall—I've wondered if maybe I should put together a recorder in Max as a workaround, but I just figured that that shouldn't be necessary (and it sounds like it isn't, for a lot of people). But maybe it is, in my case. I like building things from scratch, just for the learning (especially since I'm just getting to know the program), but that patch of yours looks great, and I may use it as-is, or at least look at its guts as a guide. Thanks!
And also Tom Hall: It looks like you're able to select Loopback as an Output, not just an Input option in Max!!!! I couldn't get mine to do that. But omg it's working now! I think the problem had been that I was making my Loopback device with Max as a source, but then that wasn't an output option, maybe because it was creating some loop or something. But it looks like when I just create a Loopback audio device with no sources but "Pass Through," then Max recognizes it as an output option.
That's great (though it doesn't do anything Blackhole doesn't already, and I'm $100 poorer for the moment), but unfortunately I'm still getting the same latency (when monitoring through Logic or Loopback. When I monitor a USB mic straight into the Loopback, the latency is negligible (I assume hooking up my DAI would be the same—usually I only input monitor directly from it), and I don't get any latency when using headphones as Max's audio output.
I know latency can come from such an endless number of sources that it's really hard to trouble shoot. But sometimes people work it out.
I may move forward on the in-Max recorder option for now (thanks, Tom!), and it looks like Loopback is working now in a way I'd hoped it would (though not any better than Blackhole does for free). But if anybody has any more ideas about the Latency, I'd be really grateful to hear about it—recording directly into Logic would be ideal, and it seems like it should be possible. And thanks again to everybody for weighing in.
Hey David Krebs,
This is just my 2 cents. Someone bought me Loopback for a gig. I used it, for like a week. After that, even though I wasn't using it at all I was having latency and some digital distortion in Max, and even had latency in Zoom meetings. I think it does something to a computer's audio engine and it can't be bypassed. I deleted Loopback and all my issues were gone. Maybe someone knows of a less drastic way around this, but I didn't have the time or patience to figure it out. If you delete Loopback you might get rid of the latency.
Wow. Deleting Loopback fixed it. That's crazy. The latency was even getting bigger and bigger, like a memory-leak-type behavior. Thanks a lot, Nicnut. I might well not have been able to conceive of Loopback's mere presence on my system as being the source of such a huge problem, so your advice was probably a lifesaver.
Their tech support was really thorough and friendly, though, and, wildly enough, they gave me a refund. Seems like it could be a good product and company to work with. But Blackhole seems to do it all just as well or better, minus Loopback's easy-to-use interface. The latency is near-zero now (and now tweaking my I/O buffers is worthwhile).
Thanks to everybody who weighed in. And even though I didn't end up using Loopback, thank you Tom Hall for helping me understand how it worked better.
P.S. This is off-topic now, but Tom Hall, even though I don't need it in such a dire way now, I'm still interested in taking a look at your multitrack Max-patch recorder, but, newb that I am, I don't know how to crack it open and look at its insides—I don't see an unlock icon showing up at its bottom left. Assuming you're comfortable sharing its inner workings, do you have any tips on how to get a look at them?
The patch can be edited, there are just no toolbars by default. Hit CMD + 8 and then the unlock icon.
Crazy about the Loopback experience, I've never had that happen. I always use the latest version from here: https://rogueamoeba.com/loopback/ however my patch will work with one of the others, Jack, Soundflower etc.
One thing that will throw loopback for a tizz is if you somehow have your interface and Max on different sample rates -- How does that happen I hear you ask? I've noticed in the last few years that using zoom/slack etc sometimes causes a miss-match of sampling rates, seen it on a few machines now.
David, if you just want to record, using [sfrecord~] is a direct, simple solution. Why run a beast like Logic (or other DAW) when you don't need it?
See Tom's patch (you might want to avoid many live.gain~ if you don't need them).
To unlock a patch, you can also do View -> Edit, or Cmd-E, or Cmd-click on the background of the patcher.
Tom, I had never used Cmd-8, nice!
Thanks for your tips, guys! I've used Logic for many years and at times will be wanting to contribute Max to complicated mixes sometimes. But I'll be delighted to close it entirely when it's unnecessary.
I'll try to remember the sample rate thing next time something mysterious happens (which it inevitably will)—it's great to build up a vocabulary of things to check up on when something goes wrong.
Great community here. Thanks for making it really easy to get started. :)
P.S. Are live.gain~s more processor intensive than the other gains? Are live.___ objects in general to be avoided if unnecessary? I've been using them pretty much just because of their built-in labels, but that's not an awesome reason, in the scheme of things. (Ha, so much for closing this now-off-topic thread...)