Jump to content


fm synth improvement idea


14 replies to this topic

#1 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2757 posts

Posted 18 March 2011 - 09:36 PM

Ive just figured something out about frequency modulation synthesizers thats not implemented in every single model ive ever used to date!!!

when you change frequency, you change all the operators frequency the same rate, this IS WRONG!!!

if you do that you change the beat frequency completely!!!

what you have to do is this->

40hz * * * * *
30hz * * * * * * ok thats a full cycle of dissonence creating a beat frequency.

if i adjust up 10 hz...

50hz * * * * *
40hz * * * * * * if you go up 10 hz, youve just slowed the beat frequency down a bit.

now, if i do something clever and pick the correct frequency for the second oscillator...

50hz * * * * *
37.5hz * * * * *| * beat cycle has now finished at the same time as the previous frequency state, that was 10 hz under... this is 10 hz higher but the beat frequency cycle is the same time duration.

so the frequency goes up, but the beat frequency cycling time stays the same... AND THATS HOW TO MAKE A FM SYNTH PROPERLY!

if 30hz is 3/4 40hz, then to keep the beat frequency the same, 37.5hz is 3/4 of 50hz, now the timbre will retain the same quality and pitch up.

am i a genius or what, noone even makes synths properly cause they are monkeys.

so think of the operators as percentages of the base oscillator, and thats how you should make the synth.
you used to be able to fit a game on a disk, then you used to be able to fit a game on a cd, then you used to be able to fit a game on a dvd, now you can barely fit one on your harddrive.

#2 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2757 posts

Posted 18 March 2011 - 09:59 PM

FUNDAMENTAL OSCILLATOR freq1 hz (play at note frequency.)

SECOND OSCILLATOR (freq2/freq1)*note frequency

THIRD OSCILLATOR (freq3/freq1)*note frequency

FOURTH OSCILLATOR (freq4/freq1)*note frequency

and thatll make really good video game music, no skill involved.
you used to be able to fit a game on a disk, then you used to be able to fit a game on a cd, then you used to be able to fit a game on a dvd, now you can barely fit one on your harddrive.

#3 imerso

    Senior Member

  • Members
  • PipPipPipPip
  • 433 posts
  • LocationBrasil

Posted 20 March 2011 - 05:57 PM

Quote

am i a genius or what, noone even makes synths properly cause they are monkeys.

Dunno if I totally agree, but that statement made me laugh very hard. Thanks for that. =)

#4 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2757 posts

Posted 21 March 2011 - 05:36 AM

I can be a little arrogant, but I think im onto something here, im building the first prototype now.

If this works, ive basicly prooven nearly ever soft fm synth ever made had a fundamental flaw, no shit.
you used to be able to fit a game on a disk, then you used to be able to fit a game on a cd, then you used to be able to fit a game on a dvd, now you can barely fit one on your harddrive.

#5 .oisyn

    DevMaster Staff

  • Moderators
  • 1842 posts

Posted 21 March 2011 - 10:55 AM

rouncer said:

Ive just figured something out about frequency modulation synthesizers thats not implemented in every single model ive ever used to date!!!
Do you have any proof regarding this accusation? How can you possibly tell that everyone is doing it wrong?

Now, I have never made an FM synth, nor have I looked into ones made by others, but I know the theory involved and thinking in terms of adding and subtracting Hz seems completely wrong to me in the first place (as you found out yourself).

For example, if you have a carrier signal of 1000Hz, and you modulate it's frequency with an amplitude of 500Hz, this means that the resulting signal will range from 500 to 1500 Hz. However, 500Hz is a full octave below of 1000Hz, but 1500Hz is only half an octave above 1000Hz. The way we percieve frequency (or amplitude for that matter) is not linear, so the applied modulation shouldn't be linear either - the resulting signal should swing between 500Hz and 2000Hz, with 1000Hz as it's base frequency, using a logarithmic scale (not base + d*modulator, but base * 2(d/base)*modulator).

The same goes for controlling the pitch of carrier and modulation signals. You don't control pitch by adding Hz, you control it by multiplying it with a number.

I simply refuse to believe that everybody is doing it differently, as you say.
C++ addict
-
Currently working on: the 3D engine for Tomb Raider.

#6 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2757 posts

Posted 21 March 2011 - 02:52 PM

ok, im wrong i admit it :)

sorry for being an idiot again...

i went and coded an fm synth but the damn thing didnt even do what i thought it would!!! it kept stability anyway.

i came up with this wierd thinking by playing around with the sytrus synth. (it itself is unstable, and its not very good to use because of it) i just coded my fm synth first time and it worked straight away...

im yet to add phase modulation, but im happy anyway because its doing what i wanted anyway.

sorry i get a little overexcited sometimes... :) and then i put theory to practice and it doesnt turn out how i expected... hehe

but sytrus can make good sounds, but it was made by monkeys, because it cant even swap notes with two dissonent frequencies. waste of time... mine beats that already and ive only been coding it for 4-5 hours.

(for all i know they could have stuffed up fm8 as well, the synth in this video)

here is a video what im talking about, he basicly says it becomes unstable when you hit a dissonent set of frequencies, but that isnt true, its stable the whole time if you do it right...
you used to be able to fit a game on a disk, then you used to be able to fit a game on a cd, then you used to be able to fit a game on a dvd, now you can barely fit one on your harddrive.

#7 Advoc

    New Member

  • Members
  • PipPip
  • 24 posts

Posted 03 April 2011 - 12:33 PM

I've been building synths a lot the last little while. Mostly FM synths, but also AM, RM, and PM synths too. just as an exercise to understand how they work.

I think your flaw might have to do with your first observation:

Quote

when you change frequency, you change all the operators frequency the same rate, this IS WRONG!!!

your carrier frequency will change with whichever note you're playing, but your modulation frequency doesn't, or at least doesn't have to. Changing the mod freq with the carrier woudl actually involve a more complicated algorithm.
Also don't forget that a modulation frequency also has an index, this is what helps create the beats.

For an interesting effect set a high modulating frequency with a low freq carrier. and set your modulation index to only 1 or 2 hz. It wont sound like FM at all, it'll just sound like sine waves doing frequency sweeps from side band to side band.

I'll see if I can do a mockup of your algorithm in MaxMSP and try to figure out exactly what you were saying though, because any new ideas in this field I'll be bound to find intriguing.

#8 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2757 posts

Posted 03 April 2011 - 04:42 PM

Advoc, This little rant is primarily about something I noticed about sytrus in fruity loops and fm8 this other synth, they are unstable, but actually now as im writing im not sure what the solution is.

But note... I know this - if I manually reprogram the sound each new note frequency I can get stability, but when I went to code it for automation of this property I couldnt even get the phase modulation to sound the same as sytrus, If you could give me a few hints how to make an fm synth properly I would be thrilled!

So far, my synth doesnt sound that good, but it actually does quite stably hold a note, at the moment im simply scaling all the operators (carrier and modulation operators) all at the same rate logarythmically.

What is modulation index?!?!?

I am *very* interested for a reply, I think fm synths are really good for making techno and sound effects, its just im not quite sure what im doing... heres a screenshot of my synth so far, but im not really thrilled with how its sounding, as Ive never even heard of modulation index before, and I actually dont know what im doing...

Posted Image

heres the controls and a basic description.
Posted Image
you used to be able to fit a game on a disk, then you used to be able to fit a game on a cd, then you used to be able to fit a game on a dvd, now you can barely fit one on your harddrive.

#9 Advoc

    New Member

  • Members
  • PipPip
  • 24 posts

Posted 03 April 2011 - 06:41 PM

I've actually never used FL Studio or even heard of Sytrus. It's definitely interesting though. All the synths I've made have been done in either PureData or MaxMSP. Literally from the ground up. Starting with a sine wave generator and multiplying the signals in. You'll have to give me a week to get working on it to show you though. I've got an algorithm assignment with a sound generator and a turtle, and a history essay both due by thursday. After that though I'll show you some of the stuff I did in Max. Maybe we can figure this out together.

you should check out PureData in the meantime. It's the open source version of Max written by the same guy. Great program to develop programming concepts in. Especially with audio.

http://puredata.info

#10 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2757 posts

Posted 14 April 2011 - 03:26 AM

heres a synth demo i put together.

watch out its pretty loud. ;)
you used to be able to fit a game on a disk, then you used to be able to fit a game on a cd, then you used to be able to fit a game on a dvd, now you can barely fit one on your harddrive.

#11 roel

    Senior Member

  • Members
  • PipPipPipPip
  • 698 posts

Posted 14 April 2011 - 08:13 AM

Thanks for the warning :P

#12 touch_the_sky

    Valued Member

  • Members
  • PipPipPip
  • 156 posts

Posted 24 April 2011 - 04:01 PM

Hmm, interesting...;)

Are you going to create some 'this-is-what-this-synth-is-all-about' presets and release it as a VSTi ?

#13 Advoc

    New Member

  • Members
  • PipPip
  • 24 posts

Posted 22 May 2011 - 12:37 PM

Sorry I havent' jumped back on this like I wanted to. My son was born a month ago and life has been full of work since. I'll get to it though. I need the review myself.

#14 imerso

    Senior Member

  • Members
  • PipPipPipPip
  • 433 posts
  • LocationBrasil

Posted 22 May 2011 - 01:11 PM

Advoc said:

Sorry I havent' jumped back on this like I wanted to. My son was born a month ago and life has been full of work since. I'll get to it though. I need the review myself.

Hey, congratulations! Having a baby is quite an important thing in life. Good luck!

#15 scarsia

    New Member

  • Members
  • Pip
  • 6 posts

Posted 22 November 2011 - 12:56 AM

rouncer said:

FUNDAMENTAL OSCILLATOR freq1 hz (play at note frequency.)

SECOND OSCILLATOR (freq2/freq1)*note frequency

THIRD OSCILLATOR (freq3/freq1)*note frequency

FOURTH OSCILLATOR (freq4/freq1)*note frequency

and thatll make really good video game music, no skill involved.

thanks rounce...





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users