DSPRelated.com
Forums

Question about FM

Started by sj December 30, 2003
I am trying to implement FM algorithms for computer music applications.  The
language I'm using (Nyquist) has a primitive FM oscillator called fmosc. I
want to use modulators in series which is a very common technique in some
Yamaha synths. In pseudo code it is the composition  fmosc(fmosc(osc()))
where all oscillators output sine waves. When I have tried this there are
strong non-harmonic components even though all oscillators are at the same
frequency and I am well below the Nyquist limit. I think the culprit is a
strong DC component from the inner fmosc.  My first thought was to use a
very sharp high-pass filter around 20Hz, in pseudo code 
fmosc(hp(fmosc(osc()))). There was a marked improvement but also a distinct
"blip" sound on the attack.  Are there other ways to remove the DC
component from a signal? Does anyone know how Yamaha does it?


Thanks in advance.


For those who are interested, Nyquist is a rather elegent language for sound
synthesis and composition. It seems to get lost in the shadows of CSOUND
etc..  You can find it at
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.software.html
-- 
Remove underscores in email address to respond
sj <_jones57_@swbell.net> wrote in message news:<hE9Ib.217$wG2.183002282@newssvr11.news.prodigy.com>...
> I am trying to implement FM algorithms for computer music applications.
Join my march to bring back the golden SB16 FM's synth and its beloved Creative Music Synth [220] driver!