chipmusic.org — lsdj wav channel release? (2013)
Someone who had used lsdj for a year asks why a volume envelope that gives a release on the pulse channels does nothing on the wave channel. The answer is the frame-envelope method — the wave channel's volume envelope is drawn, not typed — plus a clean explanation of why its four volume steps are worth so little.
Key claims#
- There is no release on the wave channel. jefftheworld: "In LSDJ the wave channel doesn't have a traditional ADSR-style release. The
Ecommand is mostly useless for the wave channel, giving you only the rangeE00-E03." Throwing that into a table with aGxxspeed change "might be enough for a quick release, but if you want a slower release it'll sound awkward". (His percentages, "0%, 25%, 75%, 100%", disagree with the manual and with later sources — see To verify.) - The frame-envelope method (jefftheworld): draw a series of waves that are the same shape at descending volumes — "the number of frames you create will affect the resolution of your effects, meaning a single synth will allow for 16 step volume effects" — set the instrument's PLAY to MANUAL, then step through them with
Fxxfrom a table, withGxxsetting the table's speed. Get the shape roughly right in the synth screen first, then hand-edit in the wave editor. Fcrosses the synth boundary on purpose: "F10(hexadecimal for 16, which is outside the 0-15 range that represents your frames) will actually switch to the first frame of the next synth. In this way, you can tie together two synths and get a waveform animation that's 32 frames long."Fis relative and adds up (SketchMan3): "theFcommand is additive, so if you have a table that goesF05F05, the secondF05plus the first will land you atF0A. Better to use mostlyF01commands if you want to stay in the current synth."- The synth screen overwrites hand-drawn waves. jefftheworld: "Any time you edit on the Synth Screen, every single wave frame of that synth will be immediately overwritten to reflect those settings … don't touch it again after doing manual adjusting on the Wave Editor screen! It'll silently overwrite any changes you made." kineticturtle adds that newer versions warn first: "are you sure you want to override hand-drawn waveforms?"
- Frame changes click. "The click is mostly unavoidable with most Game Boy models and most LSDJ versions (the v4.7.0+ 'antispike' fix might reduce some of the click … using different motherboard revisions sometimes helps)". Mitigations offered: change the frame rate until the clicks fall usefully, and breakphase's rule — "match the speed of the frame change to the tempo of the music. So that the clicks will fall on 16th steps. The clicks can be covered up [by] percussion pretty well." SketchMan3 goes further and uses them: one of his songs "intentionally invoke[s] clicks in the intro to emulate a record player to make the listener accustomed to it so they don't stand out during the rest of the song".
- Why four volume steps are worth less than four (nitro2k01): "The wave channel volume lowers the volume by shifting each sample and discarding the lower bits. So in effect, wave channel only has 3 and 2 bits of resolution for the lower volume settings. The master volume does not have THIS problem but obviously affects all sound channels routed to that stereo channel."
- The
Mworkaround (Zef, tested in post 18): master-volumeMcommands have 8 steps against the wave channel's 4, and they do move the wave channel — "I just testedMcommands on a wav channel and you get the full 8 steps of control". BecauseMis per stereo side, the trick is to pan the wave channel hard left and everything else hard right, then rideMon one side only — "which would totally work, but isn't the most practical thing to do".
Practical takeaways#
- A wave-channel envelope is a bank of waves plus a table: draw the shape at falling volumes, PLAY MANUAL,
F01per row,Gfor the speed. 16 steps per synth, 32 if you chain two withF10. - Use
F01repeatedly rather than a big jump: the command is relative, so values accumulate. - Finish the synth screen before hand-editing waves — going back to it wipes the whole bank.
- Place frame changes on the grid so their clicks land with the percussion.
Notable quotes#
"The
Ecommand is mostly useless for the wave channel." — jefftheworld
"The wave channel volume lowers the volume by shifting each sample and discarding the lower bits." — nitro2k01
Relevance to the wiki#
The community method for wave-channel dynamics before LSDj 8's software volume and LIMIT, and the reason the wave channel behaves the way it does at low volumes. It also states the hazard that matters most to anyone building a hand-drawn bank (ghost-channel): the synth screen silently overwrites it.
To verify#
- jefftheworld gives the wave
Esteps as "0%, 25%, 75%, 100%". The manual gives VOLUME0=0 %,1=25 %,2=50 %,3=100 % (source: s-lsdj-manual), Pan Docs the same as output levels of 0/25/50/100 % (source: s-pandocs-audio-registers), and defense-mechanism says "this is 25 %, this is 50 % and this is a hundred percent, and there's nothing between fifty and a hundred" (source: s-defensemech-wave-channel-ramble). The wiki follows the manual; the 75 % figure looks like a slip, kept here because the thread is a source. - The "antispike" fix said to be in v4.7.0+ is not confirmed by another source in this wiki (unverified).
Pages touched#
instrument-envelopes · wavetable-programming · volume-slides · stereo-panning · game-boy-apu · lsdj · ghost-channel · nitro2k01 · chipmusic-org · levels-and-headroom