WAV2VGM Plays Audio Via OPL3 Synthesis

Once upon a time, computers didn’t really have enough resources to play back high-quality audio. It took too much RAM and too many CPU cycles and it was just altogether too difficult. Instead, they relied upon synthesizing audio from basic instructions to make sounds and music. [caiannello] has taken advantage of this with the WAV2VGM project.

The basic concept is straightforward enough—you put a WAV audio file into the tool, and it spits out synthesis instructions for the classic OPL3 sound card. The Python script only works with 16-bit mono WAV files with a 44,100 Hz sample rate.

Amazingly, check the samples, and you’ll find the output is pretty recognizable. You can take a song with lyrics (like Still Alive from Portal), turn it into instructions for an OPL3, and it’s pretty intelligible. It sounds… glitchy and damaged, but it’s absolutely understandable.

It’s a fun little retro project that, admittedly, doesn’t have a lot of real applications. Still, if you’re making a Portal clone for an ancient machine with an OPL3 compatible sound chip, maybe this is the best way to do the theme song? If you’re working on exactly that, by some strange coincidence, be sure to let us know when you’re done!

The Clock, Another Way To Modify The Sound Of A Synth Chip

The Philips SAA1099 is perhaps one of the lesser-known among the crop of 1980s-era 8-bit sound generator chips, but with three stereo voices onboard it makes a capable instrument for chiptune experimentation. It’s attracted the attention of [Folkert van Heusden], who’s tried the novel experiment of seeing what happens when a sound chip’s clock is varied.

A quick search of the internet reveals that the chip, which appeared in early Sound Blaster cards, is intended to have an 8 MHz clock. He’s hooked it up to an Arduino as a variable clock source, which surprised us but it seems an ATmega328’s timer is faster than we expected.

There are a couple of WAV files, and as expected the clock frequency has a significant effect on the pitch. The samples just sweep up and down without much attempt at making a sound you’d want to hear, but it does raise an interesting possibility of adding a further pitch bending ability to the capabilities already in the chip. When these circuits were new we couldn’t control a clock on a whim with the 8-bit processors of the day, so of course none of us thought to try this at the time. He’s tried it, so you don’t have to.

The SAA1099 has been mentioned in these pages only once, as a chip used in peripherals for 1980s Czech computers.