bmson-spec icon indicating copy to clipboard operation
bmson-spec copied to clipboard

LN key-up sound

Open DolphinDTM opened this issue 8 years ago • 2 comments

zardoru, wosderge, flicknote, suitougreentea, exclusion and I discussed the addition of this in a DM conversation on Twitter.

The idea is simple: The ending point of a LN plays a sound when the player releases the key.
This lets us emulate back-spin scratch from IIDX where a new sound is played at the note release, and it also offers more variety and interesting possibilities for chart creation.

image Pictured above: note1 with l: 240 is a regular long note. note2 with up: true overlaps note1 Due to up: true, the player will know that note2 is a key-up sound and not a regular note. note2 may also be in a different sound channel than note1. Like so:

image

Some key points from the discussion:

  • Most people agreed that this is a natural extension of "layered notes", which is already a feature in bmson.
  • flicknote said the "up" event is redundant, however suitougreentea explained that we can not trust that all implementations will consider note1.y + note1.l == note2.y as an overlap. We should make it explicitly clear that there is an overlap to ensure that all implementations are similar.

DolphinDTM avatar Apr 25 '17 14:04 DolphinDTM

One thing worth discussing: What should the expected behaviour be when a note with up: true does not overlap a longnote (or any note)?

Should it be ignored (play as BGM), or should it be played as a regular note?

DolphinDTM avatar Apr 26 '17 07:04 DolphinDTM

Because up: true is clearly meant to be a key-up sound, we should consider a note with up: true not overlapping a long note to be an error. So I think the expected behaviour does not need to be defined in specification.

For relief implementation, playing as a regular note (ignoring up: true) may be slightly better because that note is intended to be more a playable note than a BGM note.

excln avatar Apr 26 '17 16:04 excln