sneakernets / DMXOPL

YMF262-enhanced FM patch set for Doom and source ports.
MIT License
64 stars 2 forks source link

Document DMX quirk #30

Open sneakernets opened 6 years ago

sneakernets commented 6 years ago

Finally found out what was breaking all my patches, you know, the ones that sounded like crap on DMX? Yeah... The carrier Level of the second voice is always the carrier level of the first voice. Let me explain.

When a Double Voice instrument is played, both voices' carrier waves will play as if they have the same volume level - which is determined by the first voice. So, if you have 63 for the first voice, and 45 for the second - well, too bad, you get 63 for both.

The reason I never ran into this is that I started only recently doing that kind of voice setup, while the others matched carrier wave volumes.

I don't know what other properties DMX reads from the first voice, but this is definitely one of them. This hasn't been documented anywhere, as far as I know. In fact, none of DMX has been documented, even though the source code is available.

freq-mod commented 6 years ago

So it means you/we have to even out both carriers levels for all instruments? Volume of second voice can be faked using Key Scale lvl or KSR, anyway.

sneakernets commented 6 years ago

Yeah, that's what I'm planing on doing now. I can salvage some of those other instruments I had to destroy.

sneakernets commented 6 years ago

We're lucky as most voices already are balanced. Not a big problem, but it's something to keep in mind.

freq-mod commented 6 years ago

What about AM-based voices? we have to balance all 3/4 carriers?

sneakernets commented 6 years ago

I'm not sure yet, I'm going to look into that. My hunch is that it's only the carriers that are affected.

freq-mod commented 6 years ago

OK then 7635dff It's more like proof of concept, rather than a definite fix, but still - if timbres are off, I'm sorry