M4L-device draining all my CPU!

Learn about building and using Max for Live devices.
Post Reply
sohnsonic
Posts: 2
Joined: Thu Jul 14, 2011 7:16 pm

M4L-device draining all my CPU!

Post by sohnsonic » Mon Jul 18, 2011 9:16 am

Hi!

I've posted this message at the M4L-forum over at Cycling'74 as well. (http://cycling74.com/forums/forum.php?id=10)

"Hi all!

I've made a pretty simple M4L-device, a ringmodulator with pitch-tracking, i.e., it tracks the pitch of the incoming signal and uses some userdefined fraction of that number as modulation frequency.

Everything works just fine when I have the Max editing window open, but as soon as I close Max and run it solely in Live, the CPU meter in Live starts soaring. In a matter of 20 seconds it goes from 20 to 250 percent... Needless to say, audio suffers badly...

I'm using the sigmund-external for pitch-tracking, and I'm guessing that's the culprit.. Anyone have any bright ideas?

My system:

Hardware: Macbook Pro 15", 2,4GHz i5, 4 GB RAM, Focusrite Saffire Pro 14 soundcard

Software: OSX 10.6.7, Ableton Live Suite 8.2.2, Max/MSP 5.1.8

All and any help much appreciated!"

I've also found that CPU doesn't suffer at all if the device is added to an otherwise empty Live Set.

Like I said, any help is much appreciated!

Claus

henke
Posts: 258
Joined: Fri Sep 11, 2009 7:36 am

Re: M4L-device draining all my CPU!

Post by henke » Mon Jul 18, 2011 8:58 pm

hi, i did not try it by myself, but i would change the npts and hop size and see if the problem perists. ntps -> 512 or even something arbitrary like 444.
sigmund~ is not the most stable and well behaving external in the known max universe...

you might have a look at fiddle~ and other pitch tracking externals, maybe they work better, depending on what you want to do.

r.

sohnsonic
Posts: 2
Joined: Thu Jul 14, 2011 7:16 pm

Re: M4L-device draining all my CPU!

Post by sohnsonic » Tue Jul 19, 2011 8:48 am

Hi, thanks for the tip!

I've used sigmund quite a lot, and never experienced any trouble with it, actually. The settings I'm using are npts 1024 and hop-size 512. According to the sigmund-documentation those has to be power-of-2-numbers (as is usually the case with windowing functions).

I tried fiddle, but couldn't get it working. The second I create the object, it prints "fiddle~ out of memory", and the box ends up with no inlets or outlets.

Any tips to other pitch-trackers? I'm looking for something that'll just report the current pitch of an incoming signal, doesn't even have to be very accurate. Shouldn't be a lot of delay, though, i.e. fast analysis is what I'm looking for. I'm about to try the fiddle-based "pitch~". Any others I should look into?


Again, thanks for the help!

- claus

Post Reply