SatouSynth
SatouSynth is a high-performance VGM playback library written entirely in Common Lisp, based on VGMPlay. The goals are to provide native VGM playback in Common Lisp without bindings to C; a cleaned-up and OOP-ified version of VGMPlay’s API as a library; and performance on par with my equivalent Crystal library, YunoSynth.
Features
- Rendering of VGM files to PCM.
- High quality resampling.
- Compressed (gzip) VGM loading, as well as a mechanism to extend this with
additional compression methods. New methods include:
- BZip2 compressed VGMs
- ZStandard compressed VGMs.
- Full GD3 tag support.
- DAC support.
Implemented Chips
More chips will be added as time goes on.
- Bandai Wonderswan
- Capcom DL-1425 QSound
- General Instruments AY-1-8910 and derivatives
- Hudson HuC6280 (two different cores)
- Irem GA20
- Konami K051649
- Konami K053260
- Konami K054539
- NEC μPD7759
- Namco C140 / Namco 219 ASIC
- Namco C352
- Nintendo GameBoy (DMG)
- Nintendo NES (APU) and Famicom Disk System
- Nintendo Virtual Boy (VSU-VUE)
- OKI MSM6258
- OKI MSM6295
- Philips SAA1099
- Sega 32x PWM
- Sega MultiPCM
- Sega SegaPCM
- Seta X1-010
- Texas Instruments SN76489 and related
- Yamaha YM2151 (OPM)
- Yamaha YM2203 (OPN)
- Yamaha YM2608 (OPNA)
- Yamaha YM2610 / YM2610B (OPNB)
- Yamaha YM2612
- Yamaha YMZ280B (PCMD8)