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!

Vaporwave For The Parallel Port

FM synthesis is the sound of the 1980s, it’s the sound of shopping malls and Macintosh Plus. It’s the sound of the Motorola DynaTAC, busts of Helios, and the sound of vaporwave サ閲ユ. The chips most responsible for this sound is the OPL2 and OPL3, tiny little FM synthesizers on a chip, produced by Yamaha, and the core of the AdLib and Sound Blaster sound cards. It’s the chip behind the music in all those great DOS games.

Unfortunately, computers don’t have ISA slots anymore, and cards don’t work in 486 and Pentium-based laptops, the latest hotness for retrocomputing enthusiasts. For his Hackaday Prize entry, [serdef] is bringing the sound of the 80s to the parallel port with the OPL2LPT. It’s a sound card for the parallel port that isn’t just a resistor DAC like the Covox Speech Thing.

The design of the OPL2LPT is pretty much what you would expect; it’s an OPL2 chip, opamp, a 1/8″ jack, and a few passive components. The real trick here is in the driver; by default, every DOS game around expects an Adlib card on port 338h, whereas the parallel post is at 378h. A driver takes care of this in software, but it is possible to patch a game to change every write to an Adlib card to a write to a parallel port.

Already, [serdef]’s parallel port graphics card is a real, working product and has caught the attention of Lazy Game Reviews and the 8-Bit-Guy, you can check out those video reviews below.

Continue reading “Vaporwave For The Parallel Port”

Zynq And The OPL3 Music Synthesizer

We’re big fans of the Zynq, which is an answer to the question: what do you get when you cross a big ARM processor with a big FPGA? So it isn’t surprising that [GregTaylor’s] project to emulate the OPL3 FM Synthesis chip in an FPGA using the Zynq caught our eye.

The OPL3 (also known as the Yamaha YMF262) was a very common MIDI chip on older PC sound cards. If you had a Sound Blaster Pro or 16 board, you had an OPL3 chip in your PC. The OPL3 was responsible for a lot of the music you associate with vintage video games like Doom. [Greg] not only duplicated the chip’s functions, but also ported imfplay from DOS to run on the Zynq’s ARM processors so he could reproduce those old video game sounds.

The Zybo board that [Greg] uses includes an Analog Devices SSM2603 audio codec with dual 24-bit DACs and 256X oversampling. However, the interface to the codec is isolated in the code, so it ought to be possible to port the design to other hardware without much trouble.

To better match the original device’s sampling rate with the faster CODEC, this design runs at a slightly slower frequency than the OPL3, but thanks to the efficient FPGA logic, the new device can easily keep up with the 49.7 kHz sample rate.

Using an FPGA to emulate an OPL3 might seem to be overkill, but we’ve seen worse. If you prefer to do your synthesis old school, you can probably get a bulk price on 555 chips.

Continue reading “Zynq And The OPL3 Music Synthesizer”