220 likes | 350 Views
MIDI Hero: An Intuitive MIDI Controller with Auto-Harmonizing Note Selection. Matthew Campbell Brian Granaghan Benjamin Adcock Eleazar Kenyon. Project Advisor: Dr. William D. Hunt. Georgia Institute of Technology School of Electrical & Computer Engineering.
E N D
MIDI Hero: An Intuitive MIDI Controller with Auto-Harmonizing Note Selection Matthew Campbell Brian Granaghan Benjamin Adcock Eleazar Kenyon Project Advisor: Dr. William D. Hunt Georgia Institute of Technology School of Electrical & Computer Engineering MIDI Hero Design Project Preliminary Design Review
Project Motivation: Non-Musical Demographic • Current highly successful products include: • Rock Band • Guitar Hero • Appeal: • Provides an interactive musical experience for the musically unskilled • Shortcomings: • Restricts users to “playing” a limited number of preprogrammed songs • Cannot be integrated with live music • Does not allow improvisation MIDI Hero Design Project Preliminary Design Review
Project Motivation: Musicians • Current highly successful products include: • Korg Kaoss Pad • Appeal: • Provides a versatile platform to add simple harmonies • Shortcomings: • Requires musical experience • Does not restrict note selection MIDI Hero Design Project Preliminary Design Review
Project Description • MIDI Hero • Generates MIDI output from touch input • Allows user to develop simple accompanying harmonies with minimal effort. • Enables friends and/or audience members to accompany a musician in a live performance. • Will be marketed to musicians • Live performances (coffee shop, etc.) • Casual jam session (friend, child, etc.) • Retails for approximately $330 MIDI Hero Design Project Preliminary Design Review
Cost Analysis *Labor Cost is calculated based on 4 engineers working 6 hours a week for 13 weeks at $30/hr. MIDI Hero Design Project Preliminary Design Review
Design Objectives • Goals: • Allow a musically unskilled operator • to use an intuitive touch interface • to choose from a range of restricted notes • selected by analyzing chord information • generating a single-note harmony • and providing real-time accompaniment to a performing musician. MIDI Hero Design Project Preliminary Design Review
Design Overview • MIDI input/output • Standalone/Slave Modes • Touchpad note selection • LED Tempo Indicators (standalone mode) • Rotary Encoder controlled menu • LCD Status Indicator • 13” x 11” x 4.75” Housing • AutoCOMP Chord Detector interface MIDI Hero Design Project Preliminary Design Review
Design & Implementation:Auto-Harmonization Algorithm • Western music follows a tonal structure • Musical score follows key and chord structure • Each key (e.g. C Major) consists of a root note and six other tones • Chords consistent with a given key consist of specific subsets of these seven notes MIDI Hero Design Project Preliminary Design Review
Background: Basic Music Theory • C Major chord consists of three notes (red) • Some notes (red and orange) sound pleasant with any chords within the key of C • These five notes form a pentatonic scale MIDI Hero Design Project Preliminary Design Review
Note Selection Process MIDI In Determine key, Choose notes • Our algorithm will take chord information from MIDI in and choose notes from pentatonic scale MIDI Hero Design Project Preliminary Design Review
Implementation: Restricted Note Selection MIDI Out Touchpad • User can use touchpad to select from available notes • User selection sent to synthesizer via MIDI output MIDI Hero Design Project Preliminary Design Review
MIDI Hero Physical Design Dimensions: 13” x 11” x 4.75” Weight: ~6 lb.
Top View LEDs LCD RPG Touch Screen
Back View MIDI Out MIDI In On/Off Mode Selection VDC
Design & Implementation:Touchpad Interface • 8.5” x 6.5” 5-wire resistive touchpad • Axis Layout: • X Axis controls Pitch (increasing from L to R) • Y Axis controls note velocity (increasing from bottom to top) • Output voltage digitized by ADC MIDI Hero Design Project Preliminary Design Review
Design Challenges:Two Axis Coordinate System • Problem: • Single axis dynamic reading capabilities • Solution: • Dynamically switch bias voltages • Microcontroller alternatively selects axis by inverting touchpad supply voltages • Implemented using TTL inverter • TTL implementation is effective, but causes reduced resolution MIDI Hero Design Project Preliminary Design Review
Design Challenges:Fall Time of Touchpad • Problem: • Prohibitively large fall time after finger is removed • Screen acts as a capacitor, slowly discharging through ADC input • Solutions: • Ground ADC pin in between sampling cycles • Enables high time resolution readings MIDI Hero Design Project Preliminary Design Review
Design & Implementation:Configuration with LED/LCD/RPG • Enables device to operate as a stand alone system • Internal tempo displayed using LEDs • Configuration parameters modified using LCD and RPG • Tempo • Chord progression • Key MIDI Hero Design Project Preliminary Design Review
Design & Implementation:MIDI I/O • Signal Properties: • Asynchronous 31250 baud • 1.5 mA current loop • Opto-isolated; current on is logical 0 • 1 start bit, 8 data bits, 1 stop bit • Data Stream: • Each message starts of a one status byte, which specifies the message type and channel. • Subsequent bytes are parameters ranging from 0-127; the highest bit is reserved for denoting if a byte is a status byte. MIDI Hero Design Project Preliminary Design Review
UART Utilization • The ATMega328P features a single hardware UART. • Both MIDI and LCD are controlled via UART. • Potential Solutions: • Design and implement second UART in software • Requires additional pins, hence additional microcontroller • Would increase cost and complexity significantly • Final Design Solution • Use tri-state buffer to control signal route, alternatively addressing LCD and MIDI out. MIDI Hero Design Project Preliminary Design Review
Milestones & Scheduling MIDI Hero Design Project Preliminary Design Review
Future Improvements • Reduce physical form factor • Metal/Plastic Housing • Multi-touch capability • Enable user programmable chord patterns • Integrate with AutoCOMP Chord Detection • Upgrade processor • Implement integrated audio synthesizer and DAC MIDI Hero Design Project Preliminary Design Review