Device Details

Device Overview

Name/Version: LineFO 1.6
Author: synnack  
Description: This device is a simulated LFO you can used to modulate device parameters. It's simulated in that it doesn't actually use an oscillator at all but the Max line object to simulate shapes an LFO might generate. I built it to see if using this method would have a much lower performance impact than using actual oscillators.

I sometimes have 10+ things being modulated by an LFO at once in some of my work and using actual LFOs for that starts to have a serious impact. Using [line] should minimize performance impact yet still give basic ability to modulate things.

For extra credit, use LineFO to modulate the ranges of other instances of LineFO.

*Add LineFO to a midi track
*Click "Learn"....
*Browse to any track and click on a parameter you want it to control
*Select the "shape"
*Optionally, set speed and range

New in 1.6
(*) LineFO now displays what device and parameter it is modulating (saved with Live set too)
(*) More accurate timing (found bug in API and created workaround)
(*) Fixed bug in max range control
(*) Lots of other code cleanup and more detailed help screen

Device Details

Downloads: 16057
Tags lfo, effect, utility
Live Version Used: 8.3
Max Version Used: 5.1.8
Date Added: Nov 09 2009 10:02:44
Date Last Updated: Sep 05 2016 21:27:05
Average Rating (18) 4
Rate this device: (must be logged in to rate devices login)
Device Type: midi_device
URL (optional):
License (more info): Attribution

Device Files

Device File: LineFO-1.6.amxd


This fantastic little device was working nicely with the M4L betas but stopped working with 8.1/5.1 final release ;(

The target parameter menu does not populate on bang ...

Ah ... seems to work again (?!?)

Sorry for the noise ,)

It did the same thing for me. Then suddenly started working fine. I posted the issue on the M4L forums here:

Please let me know if it randomly breaks again.

It worked for me (no "id id" issue here), saving
works, but I can see the shape selection issue.

I've modified the device a little so that the shape is remembered and works without touching, by using

Where do I send it (don't want to upload, it's your work)?
Just send me a PM in the ableton forum.

Actually I'm able to get it working in M4L on Mac but not on my studio PC ...

Have the same problem with the 2nd parameter chooser

Same prob here too.

Very, very useful thing you have here - and opens a whole new alternative to clip envelope modulation.

Now... just need to get that second list populated in winXP, lol.

Ahh, made the list and connection happen (i think by just going in manually and initializing it.

I am getting a parameter mismatch in the translation, as if maybe the recieving control is getting a 0-1 when it wants 0-127.

Solved, by using the 2nd input on the api patcher.

Thanks again, it got me going on something I've wanted to do for years.

hello LLF

can you post the solved one, for XP use?


Guys, it looks like there is a bug that has been identified related to this and a fix will be coming.

See this thread:

@LLF, if you made a tweak you think everyone could use please send it to me and I'll update this device and credit you.

It seems to be an issue with the device.parameter.remote object's behavior when loaded *for the first time* into a set.

For me, all I need to do to get it working is open the patch - once only. After that, oddly enough, live seems to recall the routing correctly (i.e. when reloading the set).

I started another project from scratch using parameter.remore and the problem is the same, so I can only assume its a bug.

At least you're good once you get a set going with it :)

I tried using this with DrumRack, Instrument Racks, and FX Racks in a variety of ways. It only wants to change the Macros by a value of 1?

On Operator or Analog it works as expected. This is really cool device, any ideas on how to get it working with Racks Macro Knobs??

JuanSOLO, i would like to know the same thing. Something is off/up with using this on rack macro knobs :( If i come up with a solution (guessing I just need to modify some range settings somewhere) ill let you know.

please give a heads up when this is fixed by the OP or anyone. I'm on Live 8.1 and max 5.1.0, FWIW I get the bug where the submenu doesn't populate. wish I had time to try to fix it myself.

request?? it doesn't see devices on a Send, I could use that.

very cool project though, most needed. Dummy Clips were a great invention, this could be better. :D

Yup, I am also getting the problem with the second menu not populating for Macro knobs.

Actually I am getting very weirds behaviour. When I first instantiate the plug in Live it will populate the second menu but with the wrong data. Thereafter it will not change that data regardless of content of first menu. also the second menu items are not the gui names but the live.button/live.numbox codes etc.

When I use the device 'locked' in the patcher window it works fine.

Would be so cool to get this fixed....I am new to Max and M4L so my chances are slim....

Sometimes this thing works for me and sometimes it does not. Sub menu not populating, and in a set with a lot of tracks the menus may say they are connected to a parameter but they are really connected to something else. As if it is bouncing over a few tracks and grabbing those instead of what you assigned. Not sure if it's the devices issue or Max4Live at this point.

I was trying to Modify this device where there were 8 knobs that could remote 8 knobs as in a Macro. Now I can't even get the original LineLFO to work.

I did however get it to modulate racks macro knobs connecting a patchcord from the knob directly to the M4L.api.DeviceParameterRemote, but still leaving everthing else as is. Not sure why that works but it did for me.

So it seems to be working for me now. If you want to control Rack Macros go into the property inspector for the Knob and change the Range to 128 instead of 1.

I love this thing. Now if I can only make 8 of them in one device, and it work.

i always wanted an lfo in live for the different paramterers, now i have it :-)

Big update really in 1.2. Can you guys test this new version and give me some feedback? It's a lot closer to what I think everyone wants.

I really like this LineFO. thank you

Here are two bugs i've found during testing the device:
1. for some parameters the maximum modulation range (0-127 in the LinFO) does not match with the available range of the modulated parameter. for axample: the parameters of "auto filter" (attack, decay, frequency, etc.)

2. It seems to be no problem to move a device with a modulated parameter to different locations, but if you save your live project and open it again a parameter from a different device is being modulated, which has the same live path as the one from the beginning. clear ?

yep, the range (0-127) is a problem for me too, I get a way to low resolution for filter modulations (I hear filter steps). maybe a glide function would help (->parameter smoothing)?

Thanks for this one! I

had a small issue with updating the modmax value through the numberbox, it didn't update the modamp boundaries..

Well, I just inserted a bang in between modmax value boxes, so now it updates both min and max through the numberboxes :p

crude, and stutters when adjusting the modmax numberbox val, but works for me!

Thanks again.. a very techno device, this one :D

Nice one.

only things I'm missing are a SINE wave and it would be nice to have 3, 1.5, 1/3, 1/6, 1/12, 1/24, rates.

Hi I think I found a small problem that can be easily fixed. If you try to map LineFO to the "grid" knob or "repeat" button on the Beat Repeat device, nothing happens.

If you connect your "scale" object to the middle input of the M4L.api.DeviceParameterRemote object, it works.

I'm not quite sure why this is but it worked for me. Hope that helps.

many thanks
awesome work, but i'd second the idea of a sine and maybe longer cycles 8, 16, 32 bars
But still incredibly useful.
keep up the good work

Updated this device. I know there are many many LFOs around now but I still like how this "Line" version works. Let me know if you find bugs in version 1.4. Thanks!

What a lovely tool. Light and efficient. I appreciate your work, sir synnack. Hats off to you!

Thanks kleer01!

Very Useful. Thanks.


Thank you very much for this great device ; it's as useful and helpful as it seems simple!


I'm experiencing a problem with this and other similar devices and was wondering if anyone could help... The 'learn' function on the device simply won't work! I used this patch a while ago and seem to remember it working fine... now this and another couple of LFO's with learn functions just don't work... very frustrating.


What version of Max? What version of Live? What OS?

What errors do you see in the Max window if any?

What specifically happens when you try to map it to something? (i.e. what does 'don't work' mean)

Thanks for your quick reply synnack. I'm running lion, live 8.2.1, max 5.

When I click on 'Learn' the text changes to 'Learning...', but when I click on a parameter I want to LFO, nothing happens - the text stays as 'Learning...' and the parameter is selected as if I didn't have the LineFO open at all.

In the max window it says "live.path - set path: invalid path" and "live.object - get: no valid object set".

Something to do with needing to upgrade max?

If you could try max 5.1.9 and Live 8.3 first that would be great. If nothing like this works on any like device I doubt it's a problem with my particular device.

But before we go changing it, trying 8.3. and 5.1.9 is a good start. Even support would have you do that.

You can get Max 5.1.9 here

I have the most current versions of Live and Max installed, but certain instances of LineFO in one of my projects won't export it's data.

For example, I have an instance of LineFO controlling the filter cutoff of Operator, but the filter does not appear to be "moving" in the rendered file.

I also noticed some instances of LineFO in the same file that were not working when I pressed play, and they only began working again after I saved the file.

Any help to remedy these issues would be appreciated. It's a great little device!

@gelsol any chance you can upload an ableton live set somewhere for me so I can test and try to fix your issue? That's nearly impossible for me to fix if I don't have a file to reproduce the issue.

I also have the same issue as gelsol. This device is my favorite thing I've ever found for ableton so I'd really like it to work after rendering. I can email you a ableton live set with it if thats what your asking.


I use this device all the time and it's very useful for all sorts of tasks but longer cycles would definitely put it in my default template. Any chance this is possible? thanks for all your work and the website.


Sure thing Redoom. How long would you like?

Up to 2, 4 or even 8 bars would be icing on this already awesome cake.

Thanks so much for even replying.


It already does 2, 4, and 8 bars though. That's what the "2.0.0" and 4.0.0 and 8.0.0 settings do in the rate drop down.

I must be crazy because I have never seen these in the menu.
Maybe I had an old version. Thank you sir.


Hello there,

Great device, but unfortunately its settings are not stored within a live set. When I reopen the set th settings are back to standard, so the device parameters are not stored. Any help?

Thanks and greetings!

Hi Mixnar. I just did a simple test and for me all settings are stored within the set. However I'm only using Max 6.1 and Live 9 now. What versions are you using? Do you get errors in the Max window?

Awesome device Synnack!

To make it perfect I've added support for a sine-wave shape - if you'd like I can send you the modified device so you can share with others.


Sure insanity. Email me your version at info@maxforlive and I'll take a look.

I would like a copy with the sine wave.

I would like a copy with the sine wave.

soo sexxy. elegance

Getting a "Caution" (prohibited) sign when I try to drag this into a MIDI track. I'm running Live 9.6.1 with Max 7.2.4
(Holding out for 9.7 before I update again)

Confirmed that the previous version of LineFO 1.6 still drags in from the OS and Ableton Browser as expected.
Is anyone having the same issue?

Got it working now-your guess is as good as mine. Maybe a restart to assure MAX had updated or that the Live Browser properly indexed the new version. Maybe in numbering it the same as the previous version, I trashed the wrong copy of it while it was being referenced. Who's to say?

Hmm, looks pretty good

Seems to be a great device!


Hi, I'm a student and would appreciate your time if you could answer some questions regarding Max MSP, I've made a form.

Thanks for your time in advance!

Login to comment on this device.

[ browse device library ]