furnace icon indicating copy to clipboard operation
furnace copied to clipboard

Drums instrument in OPLL does not always produce the proper sounds for the hi-hat and cymbal channels (does not happen in OPL)

Open Kagamiin opened this issue 1 year ago • 6 comments

Info

  • Furnace version: Furnace dev189 (built from source)
  • OS: Linux 6.6.7 (Manjaro GNU/Linux)

Description

When using the drums instrument in the OPL and OPLL systems, fixed-frequency mode is supposed to make the drum channels always produce the same sounds. However, inconsistent behavior happens with the OPLL system, specifically with the hi-hat and cymbal channels. When playing a note in one of those, it'll initially sound wrong until a note is also played in the other channel, or a specific one of the snare/tom-tom channels.

This does not happen in the OPL systems, only in the OPLL system.

Reproduction

To reproduce this issue, in an "OPLL with drums" module, I created an OPLL instrument with the default contents of the drums patch, and laid down a pattern of hi-hats with a single tom in the middle:

image

Upon playback, the sound of the hi-hat will be initially off, but will change exactly when the tom-tom note plays, changing into what it's supposed to actually sound like given its instrument settings.

Cause

Examining the contents of the register view, the issue becomes readily clear - the playback of the hi-hat is only writing to the frequency register of channel 8, when it's actually supposed to be writing to both frequency registers of channels 8 and 9 in order to produce the proper sound. Playing back the tom-tom in channel 9 triggers the write to the frequency register of channel 9 and "fixes" the sound of the hi-hat.

image image

Kagamiin avatar Dec 17 '23 17:12 Kagamiin

Does the "Apply fixed frequency to all drums at once" chip flag help?

tildearrow avatar Feb 24 '24 23:02 tildearrow

@tildearrow Yes, it does, but in my opinion it should be enabled by default on new songs if possible (and disabled when loading old songs since some of those may depend on the old behavior)

Kagamiin avatar Feb 25 '24 13:02 Kagamiin

Dude, you might be wrong though. will it be possible or not? It's enabled on default if you're making a song.

ghost avatar Feb 25 '24 14:02 ghost

@Rockyfan75000 I just built the latest dev version of Furnace, made a new song with OPLL in drums mode, and the flag wasn't on. Here's video of me trying it:

https://github.com/tildearrow/furnace/assets/102362203/d8e82926-c33f-48f0-8366-a52d97f169ba

Kagamiin avatar Feb 25 '24 14:02 Kagamiin

@Kagamiin Perfect! now let's wait for the release!

ghost avatar Feb 25 '24 17:02 ghost

Great. I will set it to on by default in 0.6.2.

tildearrow avatar Feb 26 '24 08:02 tildearrow

Now enabled by default.

tildearrow avatar Mar 11 '24 18:03 tildearrow