Chiptune player uses preprocessed .MOD files

[Kayvon] just finished building this chiptune player based on a PIC microcontroller. The hardware really couldn’t be any simpler. He chose to use a PIC18F2685 just because it’s big enough to store the music files directly and it let him get away with not using an external EEPROM for that purpose. The output pins feed a Digital to Analog Convert (DAC) chip, which in turn outputs analog audio to an LM386 OpAmp. The white trimpot sandwiched between the chips controls the volume.

The real work on this project went into coding a program which translates .MOD files into something the PIC will be able to play. Because of the memory limits of the chip it is unable to directly use all of the instrument samples from these files. [Kayvon] wrote a program with a nice GUI that lets him load in his music and page through each instrument to fine-tune how they are being re-encoded. The audio track from the video after the break doesn’t do the project justice, but you will get a nice look at the hardware and software.

“Converted MODs” = Chiptunes.
The conversion excludes all sample data, leaving the microcontroller to synthesize the tracks at run time.

It’s hard to see in the video, but the GUI lets you choose a waveform (square, triange, etc.) to try to match the original MOD sample. Once it’s on the chip, everything it synthesizes. (MOD samples are usually too large for on-chip storage, anyway.)