PULSE · WAVE · NOISE
Tetorica DMG Synth
Explore the sound. Draw a wave. Take the code.
Enable audio, then play the keyboard. Editing does not start audio.
?
Import a Game Boy VGM / VGZ from Menu → Import, or add it to Files. Extracted sounds are saved under /presets; choose one in Files to load it. Original bytes are saved under /vgm within the project size limit. Play uses a separate reference APU through the same Master. Song channels On / Off is a software playback mute. It does not change the recorded settings, Live view, keyboard audition or Capture. Changes reach the output after its short pre-rendered audio buffer; already queued sound is retained to keep the song position and APU phase intact. All four switches stay set across Stop, source changes and seeks in this session. Drag the position bar and release to seek; Arrow keys and Home / End also work. Seek keeps Play / Pause, and updates all four channels at the destination even with Live Off. Seeking from Stop prepares the position paused. Escape cancels a seek or an unfinished drag. Live follows the audible position; Off freezes all four channels, and Pause holds its exact position. Pause and select CH1–4 to audition that configured voice on the keyboard. Capture to Synth preserves the paused song and saves both your original and new sound in Files. Select Synth to edit and play your sound, or return to a numbered CH to inspect the song again. Values are recorded register settings, not current hardware Envelope volume or Sweep progress.
Import a VGM / VGZ to keep it in Files and play a reference song.
?
Live shows the selected physical channel in the same controls below. Values are sent register settings, not measured hardware envelope volume or Sweep position. Live Off returns to your edited sound; editing stops Code. Observation does not change saved presets.
Code stopped · edit your sound.
Live output after Master volume.
Sound source
Pulse · 2 voices · round robin
Performance input
Every key plays the selected source. No keyboard split.
Software performance · the same DMG APU as the controls above. Run: Ctrl/Cmd+Enter · Apply: Ctrl/Cmd+Shift+Enter.
Code is saved in Files. Loading a project never runs it automatically.
Console
?
Use const dmg = await useSoundChip("gameboy") and await its methods. CH1 / CH2 are Pulse, CH3 is Wave, CH4 is Noise. Use dmg.keyOn(CH4) for Noise, which has no musical note pitch. Run starts fresh; Apply keeps context and named loops. Stop fades the software output and restores your edited sound and Wave RAM. Wave uploads stop CH3; trigger it again afterward. Timing, keyboard allocation, Pitch and liveFx are software features. Hardware Envelope and Sweep remain APU features.