Yes I agree (sorry for the late reply!) that both can work well depending on what the patch is. Generally I only try to fix things if they seem broken…

This was one of the most enlightening reads on Max timing if you’ve not seen it before. I think this is all relevant still, but I expect faster processors help these days:

Understanding the defer and deferlow objects is very valuable if you have a patch with lot of non-timing critical data flying around alongside timing stuff - such as metronomes. I’ve had unreliable patches fixed with careful use of these. Now I tend to only ever encounter issues when working with very large patches or trying to do fast stuff in the scheduler (ie granular).

I’m no DSP expert, but one thing that was interesting is that if you have audio in interrupt on, then signal vector size will affect timing of the scheduler. Somewhere I think I learn’t that in Max for Live this setting is set at 32, so I tend to leave it there and only change if the running a patch needs it.

2 Likes

I’ve been screwing with max for a little bit now, still using the trial version. I went through the tutorials, started building my own patches, and I’m starting to get a (very basic) grasp on it, enough to know I’m going to buy the full version once I have the money. For me, having to build all my patches from scratch each time(since I can’t save) has been an awesome learning process, as each time I build one I’ve worked with previously, I tend to find ways to streamline the patch, do it differently, or realize it was stupid in the first place and use an entirely different approach. It’s forced me to really learn different objects and syntax and workflow and not to rely on past projects or patches. Grab the demo and give it a spin, if you aren’t enjoying it by the end of the tutorials, or at least getting a feel for what Max can do, then you’ll know and won’t have spent a cent on it.

2 Likes

v smart strategy - that does sound like a great way to learn. Extras > Quickrecord (assuming it’s in the trial) lets you record the output of whatever is going on - feel like that would be great to pair with constantly shifting patches & approaches

I’d love to see more of everyones patching approach here. Especially complete compositions…

1 Like

in my 3-ish years of using max I’ve never done complete compositions before - I only ever make “gear”

I know this might sound like a silly question, but is there any easy way to do this? I want to convert my dj256 application from a .maxpat file into an .amxd file to be able to use within Ableton. Could anyone possibly walk me through the steps if this is possible?

Cheers,

Christopher

1 Like

It certainly lends itself to unusual techniques here, especially since M4L - as there’s no good reason to replicate that. My route into Max was writing algorithmic patches that just generated notes, and I oddly didn’t touch anything MSP for about a year…

Yes, me too for sure. Something about having it laid out graphically that can make it click. There are conversely times when that is a real bane too, but also why it is useful to hear how others create structures that work.

Not sure if this is the right place to ask, but is there any quasi equivalent in m4l to a multiple in modular?

I’d like to be able to send the same output from a m4l device to multiple recipients…

I’m probably overlooking something really obvious…

Just drag multiple lines from the output to whatever inputs you want to receive them. A modifier key (shift/alt/option) might be required (I’m not in front of Max right now) but I don’t recall needing one.

You can use the send/receive objects to send information between M4L devices in the same Live set.

If you do go this route, there is a little bit of latency introduced, but it’s never been an issue for me in my loosey goosey ambient stuff.

Also note this:

Within a single Max patch, I always use the trigger object when I’m thinking “hmm needs a mult”. The trigger always outputs from right to left, so you can enforce the order in which the incoming data is distributed.

1 Like

I tend to use triggers in the same patch, handy as you get to decide the order in which the outputs send, [t b b b b] sends 4 bangs for instance, triggering from right to left, almost instantaneously. Or you can just use multiple patch cables if order is not relevant.

Across multiple patches then send and receive…

1 Like

Ed do you mean between different M4L devices, or between max objects within a single M4L device?

If the former, you should give a specific example (for instance if what you want to do is route MIDI output from devices to multiple different other devices, or audio, etc).

The answers above are more focused on the latter though the answers about sends and receives could also help with the former. If the former though, there are better solutions than adding sends and receives to all the patches, but they are a little more usecase specific.

Generally I’m interested in passing midi or audio between devices rather than within them.

I don’t yet build m4l devices…

Okay that becomes really an Ableton question rather than a M4L question, as there is nothing that really distinguishes an M4L device from an Ableton factory device, since you will not be editing your M4L devices.

For audio routing, see Ableton’s Internal Routings. You can duplicate audio from any audio generating device and use it as an input to a new audio track. If you want to then mix it with other signals, you might either set up some grouped audio tracks as a bus or you might also set up a return track bus.

If it is MIDI note data, you can do something similar with MIDI tracks (should be described somewhere in Ch 14 as well). If it is MIDI CC or automation that you are looking to move around, you will want to use macros most likely, and maybe some sort of Multi-Mapping device if you want the data passed across tracks.

1 Like

+10000, so much to be done with Live’s pretty powerful and straightforward built-in routing structure.

also, Manuel Poletti (+ Cycling '74) just released Audio Routes, which is a free toolkit of 11 devices that pretty much overhaul Live’s routing to allow super creative uses. there’s a device that you can drop in between audio FX on a single track to route the signal up to that point in the chain out to another track. it’s really really useful.

9 Likes

ahhh +1e6 lol

That’s big! Tapping a signal at any point in the chain is wonderful. Looking forward to trying it out.

2 Likes

Hiyooo! This looks fantastic. Up until now I’ve been using Outist (https://maxforlive.com/library/device/4673/outist-insist) for branching audio out of device chains and on to other tracks. Gotta check out Audio Routes asap.

I’m looking to have a circular recording buffer that displays amplitude of given frequency bands as a list when it receives a bang, so I can use those numbers for sending to other parts of a patch. I’m guessing some fft is the way to go here but looking at tutorials I’m getting confused with where to start. Any help? I’m assuming this would be a pretty simple patch.

Have you looked at the ZSA descriptors package? I expect there is something there that should make this easy. Cool idea btw!

2 Likes

Oh this looks great! Thanks :slight_smile: I’ll play around and report back.