furnace icon indicating copy to clipboard operation
furnace copied to clipboard

OPL and OPLL drum mode issues

Open Kagamiin opened this issue 3 years ago • 2 comments

Seemingly inconsistent (actually just unintuitive) behavior with hi-hat and cymbal

  • [ ] When using fixed-pitch instruments on snare, tom, cymbal or hi-hat, the pitches from channels 8 and 9 should be updated at once.

Currently, only the channel where the note was played gets updated; this causes inconsistent behavior since hi-hat and cymbal use the pitches from both channels at once.

Important: The bass drum pitch should not be updated along with the other drum channels, as that will cause conflicts in standard OPL when people try to use the bass drum channel as a normal channel.

Default drum pitches for OPLx

  • [x] On OPL drum instruments, to simulate the default Yamaha drum sounds, the default fixed pitch block values for channels 7 and 8 should be 2, not 1:

image

On OPLL-with-drums system, the volume slider on a OPLL drum patch does nothing

  • [x] I don't know what's the source of this bug. It's not critical, though, as we can just use the volume column and it works fine

Suggestion for OPLx bass drum

  • [x] Change the label for OPL-with-drums channel 7 from "Kick" to "Kick (FM 7)" to highlight that it can be used as a normal melodic channel

  • [x] ~~(Optional) When playing a non-drum patch in the bass drum channel, subtract 8 from the written carrier TL values to ensure it matches the melodic channels' volumes. When using a drum patch, don't subtract 8 from the carrier TLs so it sounds loud as it should.~~

Suggestion: additional drum patch type for OPLx

  • [x] Create a special 4-op drum patch which updates all of snare, tom, cymbal and hihat parameters at the same time

This would be a good thing to have because standard OPL doesn't have hardcoded drum patches like OPLL does, and changing the multipliers on hi-hat or cymbal actually changes the sound of both hi-hat and cymbal, and the hi-hat multiplier also affects the snare (yeah). This could lead to more unintuitive seemingly-broken behavior in OPL.

Having all of those be updated at once along with their fixed pitches would be a good way to program OPL drum mode.

Important: Don't remove the existing 1-op drum instrument. It's good to have when we want to tweak individual drum envelopes.

  • [x] Suggested default patch for this special 4-op drum instrument:

https://discord.com/channels/936515318220722197/948564499965816852/954030180811288606

These match the "standard Yamaha OPLL" drum sounds as closely as possible when using the correct fixed pitches as mentioned earlier.

Of course, only snare, tom, cymbal and hihat will be used from that. You can either leave the bass drum alone or include it as an example patch along with the tracker.

Note that they won't perfectly match because OPLL has quirky hardcoded nonsense on the drum channels which can only be simulated using release macros, but they'll still sound just like Yamaha's OPL2 keyboards.

Suggestion: additional OPL FM parameter effects

Only TL, MULT and AR can be controlled via effects, while macros allow for much more. Most important, to me at least, would be:

  • [x] Waveform effect (20xx - 23xx)
  • [x] Decay rate (24xx -27xx)
  • [x] Release rates (28xx - 2Bxx)

Suggestion: easier access of Deep Vibrato and Deep Tremolo

  • [ ] OPL system configuration flags maybe? idk

Small improvements

  • [ ] Add a "no pitch" option on the existing 1-op drum instrument to avoid it from overwriting the channel pitch values

This will allow us to mess with individual rhythm envelopes without having to worry about copying the fixed pitch values from the main 4-op patch - which is already a pain when using the existing 1-op drum patches.

Kagamiin avatar Mar 25 '22 12:03 Kagamiin

Volume slider on OPLL drum patch does nothing

It works only on 9ch OPLL Deflemask system. On any others, it doesn't.

freq-mod avatar Mar 25 '22 12:03 freq-mod

When using fixed-pitch instruments on snare, tom, cymbal or hi-hat, the pitches from channels 8 and 9 should be updated at once.

This point is now fulfilled when using the OPL drum instrument type. Not sure whether to mark it as done.

tildearrow avatar May 31 '22 22:05 tildearrow

Closing - https://github.com/tildearrow/furnace/issues/289 covers first point and the other two are suggestions.

tildearrow avatar May 24 '23 07:05 tildearrow