Native FM

So I’ve been fiddling on and off with achieving actual frequency modulation with nothing but native DSP devices. You can get a little FM-ish using the Ring Modulator tied to a key tracker, but it’s not quite the same (RM vs FM of course).

Anybody found a way to do this yet?

Resynth 2. Not technically “native” but it’s about as close as you can get.

I love ReSynth and use it a lot, but of course you can’t manipulate it through automation.

I’ve tried this too and I think, no. Get a decent FM vst, like I just got FM8 from a friend for free :D
RM is different from FM, definitely. What I have tried is LFO => Ringmod frequency (using ringmod as the osc see?); results are typically quite boring.
in Overtune you can get cool FM samples, but when you try having different decays on operators and stuff, you can get very long calculation times and annoying sensitivities when transposing. Some cool sounds though, some kicks I’ve made with use of FM techniques (if you call the pitchbending on a synth kick frequency modulation you could say every kick I’ve made with overtune has some FM in it).
You use overtune? I’d be glad to show you some examples.

I didn’t think of that. Can you toss me an example of how you did that? I’m curious regardless.

I have it, but I haven’t made any real use of it. Examples would be awesome!

First: example of overtune FM stuff (because that’s what I use momentarily) (warning: half of VoS vst fx was used in this demo :P)
2706-a-fmdemo.xrns

Short explanation of the formulas (for basic working of Overtune, check my page)
Instrument 1 is a FM sample with a pretty simple formula; it sounds like a sorta electric piano thing on one track, then more like a synth on another track. Bet that another DSP chain would make a pad-like sound out of it. When I was satisfied with the sample I’ve widened/detuned it using AwesomeSawce (Per.5ths)

  • basic form for this FM is
sin(XX+a1*sin(XX*b1)+a2*sin(XX*b2))  
``` a = mod amount, b = modulator ratio  
- then I give the modulators a slight phase difference (it's often handy to turn on autofade when you do this):  

sin(XX+a1sin(XXb1+c1*bi©))

- the C gives a 0 for left channel, 1 for right channel. so bi(C) gives -1 for left channel and 1 for right channel.  
- because I use non-integers for some values of the b's (b1 b2 etc) I have to use XX instead of X, and the 'time #' value in overtune has to be a multiple of 2 (in this case that is: because I use values of 1.5, 2.5, for the b's)  
  
  
[b]Instrument 2[/b] is a oneshot FM sample that is used for a bell type sound (used together with dblue's tuned Phaser which I like to call a resonator, and epicVerb)  
  
  
- programmed slightly different, here the modulators are transposed by Per.4ths as by  

nf(5)

- I've set it to render basenote A-3 instead of the default A-0 because 512 for 'Time #' takes way too long otherwise (turning resolution down)  
- in this case, the 2 modulating operators  

sin(XX*nf(5))

sin(XX*nf(10))

*rd(T,1.2)

- Then the final waveform also gets a 'slow' decay using "anti-ramp-down" aka ard(T,p)  
  
  
[b]Instrument 3[/b] is a combination of two crazy FM samples/formulas, a subosc and a squarewave. It makes up the bass in the last, looping, pattern.  
  
  
- Just two FM formulas I stuck together, don't know which chain I used it on back then  
- Anyway know that the subosc is, as I guess is expected, a sine osc transposed -12  
- Only samples 3&4 loop, envelope fixes the amp'ing.  
- Check it out on another track to hear what it sounds like without a km long FX chain

Other example:
2706-native-fm.xrns
Not really that cool, like I said, boring. Also not a ‘real’ FM synthesis example since the modulator is a fixed frequency (well, not fixed but it’s not relative to the note frequency proper), actually more like a vibrato.

Sweet! I will play with these soon. ^_^

I just found out I’m probably doing more phase modulation than frequency modulation… Is the only difference that the modulation goes logarithmic vs linear? I’m gonna have to experiment a bit more :D
@ wahrk, I’ve removed the FM link

As does probably every “FM” synth you can name! ;)

Thanks kazakore :D
anyway there’s different approaches that can be used in OT (of course, because it’s so friggin free)
the literal PM is probably what I’m doing all the time to create piano type sounds, bell type sounds, all kinds of things you would get when tweaking FM synths

  
sin(X+amount1*sin(XX*pitch1)+amount2*sin(XX*pitch2)+etc)  
  

and what I guess would be actually FM is something of the form

  
sin(XX*(1+amount1*sin(XX*pitch1)))  
  

however, this yields strange results in OT somehow, haven’t been able to figure out why but the workaround seems to be to have the modulation ramp down linearly (I’m just still trying to figure out what this is alleviating)

  
sin(XX*(1+rd(T,1)*amount1*sin(XX*pitch1)))  
  

in this case the modulators may also be squ or saw or tri or whatever sounds fun.

edit; the rd workaround is not fixing the whole problem, apparently, which can be seen easily on samples with higher repeat (“Time #”) values. Somehow the general pitch goes up into a screaming noise (cool for fx though!)

I can’t really remember any of the modulation mathematics I learnt at college around 15 years ago. Some of your posts have made me want to refresh myself on such subject though! :)

So back in the days you actually got decent mathematics at school, or is this uni? Thanks for the compliment
Anyways I figured it out :P. It’s doable;

  
sin(tp(O-1)+X*(1+amount1*sin(XX*ratio1)+amount2*sin(XX*ratio2)))  
  

etc. Of course then you can fill in just 2 or 3 for ratios, but also nf(semitones), e.g. nf(7) for a P5.

College and uni. I did Electronic Engineering (after Sound Engineering) at college and Broadcast Engineering at Uni, so modulation techniques are fairly important to understand at least to a fair extent. Although once the learning has finish very few aspects of the industry are then going to need you to remember and use the theory so I’ve now forgotten a lot of it! And even then, with it all being CODFM FOR DVB-T/DAB and various forms of QAM for DVB-S there is very little real analogue modulation in transmissions these days (OK, we do still have analogue radio transmissions) and for what I do I really don’t need the deep level mathematics of it all.

it sounds different for some reason (even though it shouldn’t? i can’t understand much past this…). but if you are not trying to emulate a synclavier, then you are on the right track. what you are doing is what everyone thinks of when they think of ‘fm’ sound. ‘real’ fm you almost never hear.

i’m coming back into renoise from a long hiatus (basically since 1.8-2.0) and am discovering a lot of stuff that happened between then and 3.0.

in particular, that Formula DSP. oh my gosh i wish that was still in 3.0. i absolutely NEED that for what i’m trying to do (well, either that or i need the LFO to be able to allow values between 0.000 and 1.000, otherwise i have to jack up my LPB and BPM to unreasonable amounts in order to get it to work, which pretty much obviates any useful pattern editing.)

what version of renoise is it present in?

Formula device has been hidden device for a long time, you need to copy paste some code into the track dsp area for it to appear, than save it for convenience sake. Search the forum, you’ll find it.

Greetings! I have only recently started exploring the possibilities of synthesizing through native renoise instruments. If it doesn’t bother you, can you update your link with examples?

Thank you!

1 Like

I would LOVE to see native fm functionality added to renoise. Ideally, audio-rate modulation (mini-sampler?) available as a modulation device for any mod parameter. then we would get complex fm and complex am functionality with deep integration.

technically you CAN perform fm natively within renoise (at least at the sample level) using the mix paste function, but this is admittedly far from ideal, especially if you want to modulate the amount of fm in real time. it is useful for generating some interesting and complex sounds though!

@Jalex, there’s a ton that can be done natively within renoise. keytrackers tied to various dsp can generate a lot of compelling karplus strong type sounds. The ring modulator can be tied to a single sample of max amplitude to get pure analog style waveforms, which can then be further effected/processed. I’ve set up vector synthesis and modal synthesis instruments natively within renoise as well. if you want precise tunings with most of these methods, there’s more work involved, but as far as generating interesting timbres, there are plenty of compelling synthesis avenues to explore natively within renoise, imo

1 Like

We need phase modualtion , not fm
In the meantime I purchased a yamaha tg 77 , absolute monster of an fm synth
Still has features not found in it’s modern counterparts