Huge comp overloads
I ran into this problem while recording, too. The only change I made in Max was that I added one more buffer~ holding a 3-second (or so) sample. I also have three other buffers, all holding 3-second stereo samples. I have 4 GB of RAM, and it gives me 92% CPU utilization. My I/O is 1024, Signal Vector 1024, sample rate 44.1 kHz. I have like seven patches open, all very small, and no other programs (except for Safari). There has to be some kind of take-out-the-trash function here that I'm missing, aside from restarting Max. My senior composition concert is this Thursday, so I'd really like to have the instability sorted out before then. I won't even be starting up Logic during the performance, but as I can't be sure that's the case I should get this ironed out before hand. I can't afford to restart Max and load up all 7-8 patches in the middle of the show, either. Any solutions? More questions?
MacBook Pro, OSX.5.6
2.4 GHz Intel Core 2 Duo
4 GB 667 MHz DDR2 SDRAM
Max 5.0.6
Update: I restarted and everything, and it's doing it now WITHOUT Logic. A quick run-through of third-party objects used: lp.nn~ (Peter Elseas degrader), JC_Rev~ (Percolate's Chowning Reverb--currently set to 0), three buffer~ objects, each with very small (< 1 MB) .aif files. I doubt that it's the reverb, because two of the groove~ objects are routed (using [send~]) to the same reverb patcher, and both have a considerable drag on the cpu. Aside from that, it's all gain~, send~/receive~, groove~, and plenty of ctlin objects. I'll post a reasonable example.
with this as the reverb unit:
Okay, thanks.
acsmith wrote on Tue, 07 April 2009 06:15lp.nn~ (Peter Elseas degrader)
Right degrader, wrong Peter.
Elsea == LObjects
this one == Litter Power
In all of my tests with nn~, CPU usage is almost zero, no matter what the settings. It is a very light-weight object CPU-wise.
Reverb is often more CPU-intense, although I wouldn't expect to see the CPU numbers you're reporting on modern hardware. However, I'm afraid I don't have any experience with the JC_rev~ object. What sort of performance do you get with the object on its own?
Sorry not to have more concrete help.
--
Edit: fixed stupid typo
Last time I performed with Max/MSP/Jitter, I killed all unnecessary processes (daemons and the like), I killed the dashboard, and I turned off wifi since I didn't need it. My patches made Apple's CPU Activity Monitor reach 100%, but that wasn't a problem. Generally with Max, what doesn't crash in rehearsal doesn't crash in concert. With Jitter (or Max scheduler sometimes), you may reach 100%, without that being a problem.
Jean-François.
Peter: sorry about that, definitely just saw the "l..." and assumed it was Elseas. JC_Rev~ is pretty light-weight, which is why I use it. Plus, I'm used to the settings from working with ChucK--it's a Brad Garton object from RTCMix, I believe, so the code has lived a long life. I use it mostly to smooth out the sound when I have a very percussive source, like a sampled fortissimo piano harmonic or a spiccatto violin close-mic'd. Good to hear about lp.nn~'s CPU usage, though, because it's quickly becoming one of my favorite objects (I also posted the thread on distortion techniques a week or so ago).
Jean-François- I can't figure out how to kill the dashboard. It's not actually crashing, but it's skipping badly. If I have a groove~ object playing but muted (using gain~ or *~ 0.) then does it still take up a significant chunk of CPU? It's probably performance techniques more than programming techniques, because my programming is so simple that I'm not sure how I could screw it up.
One more question: Another patch I have uses a 16-filter fffb~ for subtractive spectral synthesis. This is often the straw that breaks the MacBook Pro. I use it in a totally different scene from the others (it's an opera!) but I don't want to be clicking around and opening patches while conducting. Is there some sort of STOPwindow function? Because then when it comes time for that scene, I only need that one window and another (multi-channel mixer) window. EDIT: I don't actually have a [dac~] object in the offending patch, just a bunch of send~ and receive~ objects. Does that make startwindow stuff impossible?
Thanks again, everyone. Any other performance techniques you have, please send them along.
Also, I'm using a PreSonus FireStudio, in case that matters.
Jean-Francois Charles wrote on Tue, 07 April 2009 06:09Generally with Max, what doesn't crash in rehearsal doesn't crash in concert.
mz
Well, if you're working on an opera, no, you don't want to be conducting and opening patches and mixing the electronics at the same time. One option would be to have a sound engineer at the mixing console, and another musician-technician dealing with opening and closing the necessary patches.
You could also investigate the magic world of the [poly~] object, that enables you to mute audio processing potentially with no click. For instance, if you use fffb~ only in a scene, you could host this process inside a poly~ (1 voice), mute it, and un-mute it only when you use it. Reading your most recent post, I think this is what you would need.
By the way, to kill the Dashboard, I found a simple line to type in the shell, and my dashboard is de-activated. You will find examples on the web. I would have to make such a search if I wanted to re-activate it, but I just don't use it at all.
Jean-François.
Quote:Generally with Max, what doesn't crash in rehearsal doesn't crash in concert.
I want a big poster of this for my office. Can we designate this Charles' law?
--NW
Excellent poly~ suggestion! I just had a flash of insight today, too--instead of opening eight different patchers, I'll just create a master patcher with bpatcher. Hm, whooda thought. Also, I'm scrapping the reverb, because apparently playing in an ultra-live hall meant for choirs and solo voice performances gives enough reverb in itself. I'll post some youtube videos of it later, just to brag. Thanks again.
-Andrew
p.s. It didn't crash during the dress rehearsal, so cross your fingers.
p.p.s. If anyone has a screenshot of "fatal error" from Max or something, post it. It could be a Cycling '74 meme.