don't click here

Help with the FM channels

Discussion in 'Technical Discussion' started by Sik, Nov 3, 2007.

  1. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    If I keep going this way we'll have to make a new subforum for MegaDrive generic developing, not just ROM hacking... But there isn't so here I go...

    OK, I think I'm getting how do FM channels work and what waveforms will them generate. There's just one thing I don't understand: how do algorithms work? Yeah, I have the pictures describing how do they combine, but I don't think they just mix because otherwise all eight algorithms would be identical (remember that mixing two sounds is just a simple addition). Does anybody out there know how do they work? Because I want to recreate the base waveforms of the instruments I have but without knowing it I can't. Also it would be interesting know how does feedback work, but I guess that knowing the former also tells me how does feedback work.

    So can you help me, please?
     
  2. Nemesis

    Nemesis

    Tech Member
    I've had to deal with this same issue for my emulator. From what I can tell, nobody really knows. I think you'll find most emulators basically sample the waveform for each of the 8 different modes, then simply apply the frequency and amplitude envelope over the top. There will be a logic to it, and I'm sure it comes back to a series of basic mathematical operations applied over a common source, but I haven't found any information on how it's actually done. I'll be attempting to figure it out, but it's not going to be easy I'll wager.
     
  3. nineko

    nineko

    I am the Holy Cat Tech Member
    6,308
    486
    63
    italy
    I think Saxman knows a lot of things about FM synthesis. The voice editor in his Sonic QX is quite comprehensive.

    edit: spelling.
     
  4. Nemesis

    Nemesis

    Tech Member
    Sonic QX is a pretty comprehensive editor, but it still only allows you to select one of the 8 pre-defined algorithms, because this is all the YM2612 allows you to do. Sonic QX allows you to set the data up, but because it doesn't actually have to generate the output waveform, it doesn't have to know what waveform the algorithms actually produce, or how they generate it.

    I think I've seen every peice of documentation for the YM2612 that is public, which is to say, not much, and from what I've seen, there is no information on how the algorithms actually do their work, merely information on how to use them. Since the YM2612 is similar to a lot of Yamaha's other chipsets however, some of which are very well documented, the answer may well lie in the documentation for another one of their chips. I haven't searched that far abroad yet.
     
  5. nineko

    nineko

    I am the Holy Cat Tech Member
    6,308
    486
    63
    italy
    Yes, I think those parametres like attack rate, decay, and so on are quite common in FM synthetizers.
    Just to be sure, did you check this doc? I think it's one of the best available.
     
  6. Nemesis

    Nemesis

    Tech Member
    No, I hadn't read that one actually. I've only read documentation about the YM2612 so far, since I didn't want to make any incorrect assumptions early on when building my YM2612 core, based on what I read about other chipsets. There's some damn useful stuff in there which answers some questions I had though, assuming it's approximately applicable to the YM2612. I'll have to read through that doco more thoroughly I think. Thanks for the link.
     
  7. nineko

    nineko

    I am the Holy Cat Tech Member
    6,308
    486
    63
    italy
    Wait, I gave you the wrong link. I meant this, sorry.
     
  8. Nemesis

    Nemesis

    Tech Member
    Yes, I've read that one. It's the most comprehensive documentation which is available for the chipset, but it's still missing a lot of important information. For the record, scans of the original document that page is transcribed from are available at http://www.antime.org/sega/md.html
     
  9. saxman

    saxman

    Oldbie Tech Member
    Nineko showed me this topic.

    You might find this interesting -- http://www.synthzone.com/midi/yamaha/dx7/2fmsynth.htm

    Remember the DX11/21/27/100 and TX81Z synthesizers most closely resemble the YM2612 than the others. It's possible you could use some of the information on that page to generate output for the YM2612. If I remember correctly, the numbers on the YM2612 are REVERSED (for example, when given 0, 1, 2, 3... this would be 31, 30, 29, 28 on the YM2612 as opposed to the DX/TX synths).

    Also, here's a book with some more details -- http://www.synthzone.com/midi/yamaha/dx7/f...pplications.pdf

    Hope that helps, and good luck on your emulator Nemesis. I'm looking forward to it!
     
  10. Nemesis

    Nemesis

    Tech Member
    Thanks, I'll have a look through them.
     
  11. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Ugh, the non-slot operators are the modulators? I'm gonna blow... (Modulators change the frequency of what they modify, not something really neat, and you'll find them hard to use, trust me) But I'm gonna take a more careful look at it later... But at least this gives me more idea of what may it be.