Offline
Ardèche, France

Well, this click.
This awesome click, when you're changing the wave of a synth.
I love it.
But, just why?

I don't have much days passed on LSDJ (I only made two songs, lol), but I was thinking about it. Why is there a click when the wave channel is refreshing? Is this a system limitation? Is this a way to keep away some lags? Is this a... bug? I think I've never heard something like this click anywhere else than in LSDJ (but I think I've not searched enough).

My objective with this topic is to understand why the lsdj synth is clicky.
And why not, to find a way (even a very tricky one) to bypass this click. (I'm sorry Clicky, but I want to experiment something without you, you know, we both are together for so long now, can you understand? Please, don't make things harder, I'm not leaving you, I'll be back after my quick experiment, I promise it won't be long)

Offline
Buenos Aires, Argentina

To change the Waveform in memory (registers 0xFF30 to 0xFF3F) you have first to turn off the channel (writing a 0x00 in register 0xFF1A), that process makes the click. It is a hardware limitation.

Last edited by Delek (Feb 10, 2016 9:42 pm)

Offline
Unsubscribe

You could always try to hide the waveform click on a transient noise sound or mask it as a percussive element.

Offline
UK / FR

The wav channel implementation on GBA is slightly different, and theoretically doesn't have this limitation...

From http://belogic.com/gba/channel3.shtml

"Channel 3 acts as a 4-bit DAC that repeatadely plays a pattern of samples. This pattern is user definable and consists of sixty-four 4-bit samples, separated in two banks and located from 0x04000090 to 0x0400009F. Channel 3 can play banks in two modes: As a single 64 samples bank or two 32 samples banks. The dual bank mode has the advantage of not needing a sound reset/restart when switching the playing bank. This allows for dynamic reloading of the wave ram without generating distortion as it was the case with previous Gameboys. Bank mode is controlled by bit 5 of REG_SOUND3CNT_L (0x0400070) and resetting it to 0 specifies dual bank mode. Bit 6 controls which bank is active for playing/reloading. If set to 0, samples are played from bank 0 and writing to the Wave Ram will store the data in Bank 1 and vice-versa."

Offline
Unsubscribe

Right but when LSDJ runs on a GBA, its running on the DMG core, and is still using DMG sound.

Offline
NC in the US of America

That's why GB games didn't do too much "smooth" waveform shifting.

Try using an old version of the BGB emulator. It dosen't have as much clickies i think. Or maybe that's just the LR output i'm tinking of