Electronic Guide for Playing Drums
Ahsan Mirza James Szczypta
Objective
• To create an electronic guide for an aspiring musician which can guide one through the song. • Eliminate the hurdle of following static music on a sheet with a scrolling display which is easy to follow. • To provide feedback on one’s progress.
Initial Design Ideas
• Three major components
– LEDs mounted on drum pads which will blink when the specific instrument is to be played. – A scrolling graphic display similar to sheet music, which allows the musician to anticipate what is to follow. – A recorder which tracks one’s progress throughout the course of the song.
Block Diagram
Start FPGA Reset Data Bus
(27)
LED Circuit
Recorder
27
Graphic Display
Block Diagram(2)
FPGA Timer Time
Beats per minute(bpm)
LED Output
27
Memory
27
Song File Computer
Recorder
Amplifier Circuit Peak Detector Circuit Vcc Vcc 3-bit Comparator Vcc Vout Vref1 To FPGA Microphone (54C6)
Vcc
Vref2 To FPGA
Vcc
Vref3 To FPGA
Actual Design (FPGA)
Actual Design
• Some modifications were made to our design.
– Song data directly programmed into the FPGA. – Music stored by stanza(eight beats) each beat consisted of 3 bits to accommodate the thermometer design. – The song was compiled by spotting various patterns that were repeated and creating a large array that would hold the patterns.
Actual Design
• Synchronizing Graphic Display with LED circuit
– A similar data array created for the Graphic Display. – It was kept two stanzas ahead so that the Graphic Display is in synch with the LED circuit.
LED Circuit
SongTime
• LED circuit worked out quite the way we had anticipated with outputs coming directly from the FPGA. • We used the thermometer design to differentiate between different levels of strike.
0 0 Storage Unit 0
SongTime
0 0 Storage Unit 1
SongTime
0 1 Storage Unit 1
SongTime
1 1 Storage Unit 1
Actual Recorder
• Caused some trouble. • The PCBs made for them had shorts between power and ground. • We kept the same circuit and assembled it on a bread board. • Demo for recorder performed for the TA.
Graphic Display
• Our LED display never worked. • Made an adjustment by making the Graphic Display on the VGA. • We had to change the way we displayed the notes.
Some Complications due to VGA
• Internal racing
– The song data wasn’t updating fast enough for the VGA. – VHDL code was written for a shift-register in the LED array which wasn’t quite compatible with VGA.
Some Adjustment to convert to VGA
Timer
• Timer had to be updated to set the beat of the song. • The timer then update the VGA and the array in the FPGA. • Create many timers which were multiple of the original timer to coordinate with various components.
Accomplishments
• We were successfully able to demo the song on the LED circuit in synchronization with the Graphic Display. • We were able to match the timing of our song within reasonable proximity to the original song. • Demo the recorder circuit.
Improvements for the Future
• To be able to get a song into the FPGA without having to program it yourself. • To provide instant feedback when a note is played. • To create multiple threshold strike levels which will model the build-up and resolution throughout the song more effectively.