furnace
furnace copied to clipboard
OPL and OPLL drum mode issues
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:

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.
Volume slider on OPLL drum patch does nothing
It works only on 9ch OPLL Deflemask system. On any others, it doesn't.
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.
Closing - https://github.com/tildearrow/furnace/issues/289 covers first point and the other two are suggestions.