gbt-player icon indicating copy to clipboard operation
gbt-player copied to clipboard

[Request] Portamento effect (pitch bend) for `s3m2gbt`

Open copyrat90 opened this issue 1 year ago • 3 comments

A Game Boy tracker, called Little Sound DJ (LSDj), supports pitch bend effect as Pxx. As this effect is quite useful for the song, there are lots of LSDj songs that use this. example song

It would be nice if s3m2gbt supports Exx, Fxx and Gxx effects.

copyrat90 avatar Sep 14 '22 03:09 copyrat90

I did experiment a bit with it, but I think I decided to ignore it because changing frequencies on the fly created a lot of noise.

I'm going to be busy for a bit, but I'll try to look into this at some point and see if there is some way to do it cleanly.

AntonioND avatar Sep 14 '22 23:09 AntonioND

Thanks for considering this feature!

I forgot to mention that the Tone Portamento (Gxx effect on s3m) is also used a lot on LSDj (Lxx on LSDj). I would really appreciate it if you could also look into this effect.

copyrat90 avatar Sep 15 '22 00:09 copyrat90

I coded pitch bends in the fork of gbt-player (GBT-Rulz) used in gb studio, unfortunately it's only for the deprecated GBDK branch. https://github.com/chrismaltby/gb-studio/pull/505 You can find all the changes made here.

I think the only "breaking" change was reworking noise to pass the 8bit value directly (so note pitch could affect noise in a linear fashion, not just c-5) but that requires all songs to be recompiled, and some artists modified the noises in the player directly (the start noise values were moved mod2gbt.c).

But, it could be worth looking at.

it overhauls sound re trigger for effects, meaning less popping and the ability to use these effects at all, adds 1xx 2xx pitch bends (not accurate to .mod) and a non standard effect, 9ve, which directly sets the volume and hardware envelope for the channel (fade envelope stays with new volumes).

That last one is a little abstract because you must build and run to hear it correctly, but it makes gbt-player very competitive. This user, https://twitter.com/ScottSemanski has made ample use of 9ve, 101 201 for vibrato and kick drums, can hardly believe it's still gbt.

RichardULZ avatar Sep 19 '22 13:09 RichardULZ