YunoSynth
YunoSynth is a VGM playback library written entirely in Crystal, and with almost no dependencies. The goal is to provide native VGM playback in Crystal without bindings, as well as provide a somewhat cleaned-up version of VGMPlay’s code.
Documentation for the library can be found here.
Features
- Rendering of VGM files to PCM.
- High quality resampling.
- Compressed (gzip) VGM loading, as well as additional compression methods:
- Support for VGMs that are compressed with BZip2 are also supported.
- Support for VGMs that are compressed with ZStandard are also supported.
- Full GD3 tag support.
- DAC support.
Implemented Chips
More chips will be added as time goes on.
- Capcom DL-1425 QSound
- Ensoniq ES5503
- General Instruments AY-1-8910 and similar
- Hudson HuC6280 (two different cores)
- Irem GA20
- Konami K051649
- Konami K054539
- Konami K053260
- Namco C140 / Namco 219 ASIC
- Namco C352
- NEC uPD7759
- Nintendo GameBoy (DMG)
- Nintendo Virtual Boy (VSU-VUE)
- OKI MSM6258
- OKI MSM6295
- Ricoh RF5C164
- Sega SegaPCM
- Sega MultiPCM
- Texas Instruments SN76489 and similar
- Yamaha YM2151 (two different cores)
- Yamaha YM2203
- Yamaha YM2608
- Yamaha YM2610/YM2610B
- Yamaha YM2612
- Yamaha YM3812 (OPL2)
- Yamaha YMF262 (OPL3)
- Yamaha YMZ280B