Skip to content

MIDI Controlled wavetable synth based around DMG Gameboy wavetables for Arduino UNO

License

Notifications You must be signed in to change notification settings

astriiddev/Gameless-Boy-Chiptune-Synth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Gameless Boy Synth

MIDI Controlled wavetable synth based around DMG Gameboy wavetables for Arduino UNO

Inspired by trash80's mGB for arduinoboy and using wavetables generated by my DMG Gameboy, I decided to create a standalone chiptune synthesizer with an Arduino UNO. When I set out to begin this project, I had neither a gameboy nor a rom cart to run LSDJ or mGB so I wanted to build this to supplant my lack of gear. Now, over a year later, even though I now have both an everdrive and quite a few gameboys, I still wanted a standalone chiptune synth that was lowcost and compact and so I decided to finish the project I had started.

As the Gameless Boy is inspired by mGB, I decided to keep the MIDI channel layout the same. MIDI channels 1 and 2 are both pulse wave channels with varialbe pulse width. These pulse waves can be set to 12.5%, 25%, 50% (square wave--default on boot up), and 75% duty cycles. CC knob 48 is the the default to change the pulse width for each channel. MIDI channel 3 is triangle wave while channel 4 is a noise channel. As it is on mGB, MIDI channel 5 allows you to play the triangle wave and pulse waves together as three note polyphony.

The Gameless Boy is complete with pitch vibrato and pitch bend. Vibrato intensity is controlled by the mod wheel while its speed is controlled by CC knob 47 by default. Pitch bend is controlled by, obviously, the pitch bend wheel and have an octave up and octave down range. When in polyphony mode, pitch bend will only bend the last note that was played. This is an issue that I hope to rectify in later releases.

I hope to eventually build this into a full enclosure, complete with push-buttons to change the duty cycles, knobs for ADSR controls, and a preamp. But for now, the code is designed for simple MIDI-in and audio out circuitry.

Installation

This project is built on the Arduino MIDI and Mozzi libraries and they must be already added to your Arduino IDE library. Find them here: (https://github.com/FortySevenEffects/arduino_midi_library/releases/tag/5.0.2) & (https://github.com/sensorium/Mozzi)

It also uses custom wavetable files for Mozzi that I made from my DMG Gameboy. They are located in the tables folder in this project.

Special Thanks

Special thanks to trash80 for their inspiring mGB and ArduinoBoy projects.

Also special thanks to jidagraphy for their Mozzi Poly Synth code which helped me create the three note polyphony channel within the context of the Mozzi library. Without them, this project could not have been realized.

About

MIDI Controlled wavetable synth based around DMG Gameboy wavetables for Arduino UNO

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published