chipvoice

MACHINE

Game Boy DMG APU

A softer, more muffled square wave than the 2A03, with a four-bit programmable wave channel for a rounder tone.

ITS VOICES

How it makes sound.

The Game Boy's sound hardware has four voices: two pulse wave channels, one programmable wave channel that can hold any four-bit waveform, and one noise channel.

chipvoice uses the pulse channels for melody and chords, the wave channel for bass, and the noise channel for drums.

HEAR EVERY PRESET

Its instruments.

Every preset a user can pick for this chip - played as one fixed probe, measured, never typed by hand.

Melody

GM programs 0-15

Pulse, 50% duty

Envelope
Spectrum
Attack
3 ms
Decay
98.8 ms
Release
10.9 ms
Peak / RMS
-12.6 / -31.5 dBFS
Spectral centroid
564 Hz
Noise vs. tone
tonal

GM programs 16-127

Pulse, 25% duty

Envelope
Spectrum
Attack
3 ms
Decay
92.8 ms
Release
9.4 ms
Peak / RMS
-12.6 / -33.0 dBFS
Spectral centroid
716 Hz
Noise vs. tone
mixed

GM programs 32-37

Wavetable, 32 steps

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
15.4 ms
Peak / RMS
-14.3 / -22.4 dBFS
Spectral centroid
582 Hz
Noise vs. tone
tonal

GM programs 38-39

Wavetable, 32 steps

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
15.4 ms
Peak / RMS
-14.3 / -22.4 dBFS
Spectral centroid
582 Hz
Noise vs. tone
tonal

GM programs 40-87

Pulse, 25% duty

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
12.4 ms
Peak / RMS
-14.2 / -23.7 dBFS
Spectral centroid
729 Hz
Noise vs. tone
tonal

GM programs 56-63

Pulse, 12.5% duty

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
9.4 ms
Peak / RMS
-14.2 / -26.1 dBFS
Spectral centroid
1107 Hz
Noise vs. tone
tonal

Chords

GM programs 0-15

Pulse, 50% duty

Envelope
Spectrum
Attack
3 ms
Decay
98.8 ms
Release
10.9 ms
Peak / RMS
-12.6 / -31.5 dBFS
Spectral centroid
564 Hz
Noise vs. tone
tonal

GM programs 16-127

Pulse, 25% duty

Envelope
Spectrum
Attack
3 ms
Decay
92.8 ms
Release
9.4 ms
Peak / RMS
-12.6 / -33.0 dBFS
Spectral centroid
717 Hz
Noise vs. tone
mixed

GM programs 32-37

Wavetable, 32 steps

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
15.4 ms
Peak / RMS
-14.2 / -22.4 dBFS
Spectral centroid
582 Hz
Noise vs. tone
tonal

GM programs 38-39

Wavetable, 32 steps

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
15.4 ms
Peak / RMS
-14.2 / -22.4 dBFS
Spectral centroid
582 Hz
Noise vs. tone
tonal

GM programs 40-87

Pulse, 25% duty

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
12.4 ms
Peak / RMS
-14.2 / -23.7 dBFS
Spectral centroid
729 Hz
Noise vs. tone
tonal

GM programs 56-63

Pulse, 12.5% duty

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
9.4 ms
Peak / RMS
-14.2 / -26.1 dBFS
Spectral centroid
1107 Hz
Noise vs. tone
tonal

Bass

GM programs 0-127

Wavetable, 32 steps

Envelope
Spectrum
Attack
1.5 ms
Decay
3 ms
Release
16.9 ms
Peak / RMS
-20.0 / -29.1 dBFS
Spectral centroid
336 Hz
Noise vs. tone
tonal

GM programs 38-39

Wavetable, 32 steps

Envelope
Spectrum
Attack
3 ms
Decay
3 ms
Release
15.4 ms
Peak / RMS
-20.7 / -29.2 dBFS
Spectral centroid
723 Hz
Noise vs. tone
tonal

Drums

Kick

Tone

Envelope
Spectrum
Attack
1.5 ms
Decay
636.1 ms
Release
0.4 ms
Peak / RMS
-14.3 / -27.4 dBFS
Spectral centroid
3635 Hz
Noise vs. tone
noisy

Snare

Tone

Envelope
Spectrum
Attack
3 ms
Decay
624.1 ms
Release
7.9 ms
Peak / RMS
-15.1 / -27.7 dBFS
Spectral centroid
2177 Hz
Noise vs. tone
noisy

Hi-hat

Noise

Envelope
Spectrum
Attack
6 ms
Decay
630.1 ms
Release
0.4 ms
Peak / RMS
-20.3 / -33.3 dBFS
Spectral centroid
829 Hz
Noise vs. tone
mixed

Open hi-hat

Noise

Envelope
Spectrum
Attack
4.5 ms
Decay
655.5 ms
Release
0.4 ms
Peak / RMS
-18.7 / -31.0 dBFS
Spectral centroid
1110 Hz
Noise vs. tone
mixed

The full instrument catalogue, every chip

HOW WE CHECK

Its evidence.

How closely this chip's emulation matches the real hardware, from the conformance harness that runs before each release.

Digital parity

Compared with Gb_Snd_Emu 0.1.4 (blargg): 57.3 % identical (83,100,392 of 145,122,916 cycles), 7 of 7 logs with any divergence.

First divergence: script-envelopes, cycle 419432, ch1 - ours 0, the oracle's 15.

Compared with SameBoy (DMG-B): 94.8 % identical (137,606,353 of 145,122,916 cycles), 6 of 7 logs with any divergence.

First divergence: script-envelopes, cycle 427391, ch1 - ours 15, the oracle's 0.

Test ROMs

12 of 12 test ROMs pass.
  • dmg_sound/01-registers: pass
  • dmg_sound/02-len_ctr: pass
  • dmg_sound/03-trigger: pass
  • dmg_sound/04-sweep: pass
  • dmg_sound/05-sweep_details: pass
  • dmg_sound/06-overflow_on_trigger: pass
  • dmg_sound/07-len_sweep_period_sync: pass
  • dmg_sound/08-len_ctr_during_power: pass
  • dmg_sound/09-wave_read_while_on: pass
  • dmg_sound/10-wave_trigger_while_on: pass
  • dmg_sound/11-regs_after_power: pass
  • dmg_sound/12-wave_write_while_on: pass

Analog stage

Not measured yet. This stage is a placeholder, not a result.

Driver coverage

The shipped driver reaches 4 of the chip's 4 voices.

Full sheet on GitHub ↗ · Every chip's accuracy