How do I incorporate an LFO in my instrument?

guitarguy93's icon

Hey all. I'm new here, obviously, and I'm also VERY new to M4L. I have a very basic understanding of how to create a simple synthesizer with FM, Filter Envelopes, and Amplitude Envelopes. Unfortunately, that's all I know how to do. I'm sure that, with enough time, I could gather enough information on the internet and tutorials on C74's website to do this, but that takes a long time for me.

My biggest concern is understanding. Anyone can know that you have to have a [mtof] object before a waveform, but I want to understand that this object changes a midi signal to a frequency.

I learned most of what I know through the "learnmax" YouTube channel, and I feel that I have a good grasp on understanding the concepts of building a simple synth such as the one described above, but I want to go deeper than that. I need LFOs!

P.S. Yes, I understand that there are premade LFOs and such, but I like to learn how to create my own.

ShelLuser's icon

Well, a mere cycle~ object set to 2Hz would be more than enough for that. Don't forget that an LFO is merely a "Low Frequency Oscillator". And cycle~ is a table lookup oscillator, which is well suited for your common sinewave waveforms.

Of course any oscillator will do; just as long as you keep the frequency low.

guitarguy93's icon

The problem is, when I set up something that seems like it would work in my head, i.e. [live.dial (.1-5Hz)]----->[cycle~]----->[svf~]---lowpass out--->
it just doesn't work. There is signal, but it's so quiet that you can't hear it.

guitarguy93's icon

Okay, so I got it to (somewhat) work. Now, I just need to figure out how to sync it with the time of Ableton. Any help?

t3mpuser's icon

take a look at one of the many LFOs out there. You can quickly see exactly how to do it. http://www.maxforlive.com/library/index.php?tag=lfo

ShelLuser's icon

Actually I'd advice against looking at other people's LFO devices because in most cases they are not documented and many people use their own specific way to do things. Nothing wrong with that, but it doesn't make the best study material.

First; you should consider going over the MSP tutorials. It will explain a lot about the basic issue of sound processing, stuff as to what an LFO does, how you can use the various oscillators, additive synthesis vs. frequency modulation and so on. Nothing wrong with experimenting, usually thats a good way to find out about things. But since you're also after the why this is something to seriously consider.

As to synchronizing your oscillator... There are several approaches possible. First I think you should look into a very powerful object: translate. It easily allows you to translate a time signature (bars, beats, units) into something else. A frequency in Herz for example. Be sure to check its example patch though, there is a huge difference in translating an interval or a specific position.

As for an example I suggest looking into one of M4L's native devices, these are all heavily documented and clearly explain what is going on. For example check out "Ctrl1LFO" (Max Audio Effect -> Tools -> API).

Hope this can help!

Edit:

I still have some time left before I need to get going, here's a nice example of a (very!) basic LFO which "goes with the flow" aka picks up the current Live set signature and sets the speed accordingly.

I think its a good example of how you could do this yourself; simply set different signatures. From 8/4 (very slow) to, for example, 1/8 or 1/16 (very fast).

Max Patch
Copy patch and select New From Clipboard in Max.

Edit2:

Completely offtopic but still related... If you're wondering what impact a "mere" LFO device can have on your sound score then maybe you should check out this Youtube video about a new LFO device in Reason. I know its offtopic, but IMO the PHead video tutorials are simply outstanding. It gives you a good idea of what is happening, you get a better feeling for LFO's and well. IMVHO this video is also fun to watch ;-)