A primary goal of this project was to create a system which a musician could use to perform reasonably complex songs and produce a pleasant sound output. In pursuit of this goal, I designed the user interface to contain the familiar piano keyboard layout of buttons to play the notes in the standard musical scale. To enable a wide variety of songs to be played, the keyboard has eighteen buttons for playing notes which span from C to F an octave higher. This allows chords with a wide range of notes to be played. Additionally the synthesizer features buttons to change the octave up and down, within a reasonable range, to allow an even wider range of notes, although not to be played in the same chord.
To allow for performing more complex songs than could reasonably be played at one time, the synthesizer has buttons to support recording and playback of songs. Once recorded, a song can be sent to either (or both) of the two helper PIC32 microcontrollers. With a song loaded, each helper PIC can be set independently to either playback the song once, or repeat it until stopped. The sound from each PIC is outputted through a digital-to-analogue converter (DAC), and then added together with the others via an analogue voltage adder circuit.
0 Comments