The goal of project is to helps people develop the musical skills of perfect pitch and relative pitch. Push buttons allow the user to navigate a graphical user interface (GUI) on a liquid crystal display (LCD). In perfect pitch training mode, a note is played and the user tries to identify the note on an animated keyboard. In relative pitch training mode, an interval is played, and the user selects the correct interval name from a list of possible intervals.
The project featured a MIDI input into the microcontroller for users who want to answer using a piano instead push button. Musical notes are generated using direct digital synthesis (DDS).
The project consists of two sources of input that control two outputs. The ATMega644 MCU firmware controls DDS and the LCD. The inputs are push buttons that are debounced by the state machine to control the GUI on the LCD and a MIDI input so that a user can hook up a keyboard. The MIDI is interfaced to the MCU via the universal asynchronous receiver/transmitter (UART). The MCU communicates with the LCD via serial peripheral interface (SPI). The direct digital synthesis creates a pulse width modulated (PWM) waveform that is filtered to create the sinusoidal waveforms for the speakers.
Musical Skill Trainer
Project Firmware, Schematic and Documentation