tildearrow / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
2.6k stars 208 forks source link

[OPL3] Instruments can corrupt each other #369

Closed freq-mod closed 2 years ago

freq-mod commented 2 years ago

FMOPL.zip - load this file, meant to be OPLx example instrument bank

Steps to replicate:

  1. Play a few notes with a PWM Phaser instrument
  2. Switch to Choir Aahs instrument (or any other)
  3. Very often, Choir Aahs will have some kind of weird wah-wah effect applied on it that should not be there.
Toonlink8101 commented 2 years ago

@freq-mod , I could be wrong, but from what I can tell the wah-wah effect you're hearing is being caused by the Choir Aahs instrument using vibrato on operators 3 and 4. This is most noticeable when playing the instrument at C-6 and toggling the VIB setting on and off.

Although, take this all with a grain of salt as I'm currently using the April Fools Release to test this.

To put that into steps:

  1. Double click the Choir Aahs instrument.
  2. In the instrument editor, play C-6 a few times. (Due to the nature of OPL*, the phasing/wah-wah might not be consistent.)
  3. Turn the VIB setting off on operators 3 and 4.
  4. Play C-6 a few times. (Despite OPL inconsistencies*, the lack of phasing/wah-wah should be consistent.)
  5. If necessary, toggle the VIB settings back on again and repeat steps 2-5.

*When I'm referring to OPL's inconsistencies, I'm referring to the fact that the operators often play out of sync. This can be seen most easily when patch switching is used on OPLL. Although it's not a great example, this song I made somewhat demonstrates this. In it, I use patch switching to get the different "trumpet" operators out of sync, which along with detuning, gives a PWM-type sound.

tildearrow commented 2 years ago

Please don't use 0.6pre0. Use the latest dev build from Actions instead.

freq-mod commented 2 years ago

vibrato has nothing to do with it, as it affects other instruments too. moreover, choir aahs is supposed to sound cifferently. try playing that one first. then play pwm phaser, and compare.

Toonlink8101 commented 2 years ago

You were right.

Now that I'm using a dev build (this one), I'm finding the same issue. It seems that the TL Macro on OP1 of the PWM phaser is still acting on the choir aahs even after the change in instrumentation.

Not sure what would cause that; however, it wasn't an issue on the April Fools Release, if that helps at all.

Toonlink8101 commented 2 years ago

After some more testing, it seems that the looped section of the Macro is still looping after the instruments change. This loop even continues after the Macro on the PWM is reset. Very strange

tildearrow commented 2 years ago

Hmmm... may be caused by the new macro code... Oh no... I'll take a look after I eat.

freq-mod commented 2 years ago

I recall I had this problem a bit earlier on, maybe even before the macro work...

Weeppiko commented 2 years ago

My guess is that when a 4OP instruments is used it is failing to stop the macro for one of the channels that it uses, and this makes more sense by noticing that to actually trigger this bug you should play two notes at once using a 2op instrument. It also has a volume issue when doing the opposite steps, playing a 4op instrument first and then a 2op on the first channel will make it actually louder than it should be

tildearrow commented 2 years ago

Yep, macro issue. Fixed.