1 / 14

Artem Kuligin CS 470

Piano Chord Builder. Artem Kuligin CS 470. IDEA - Create easy accessible application to build, learn and play modern piano chords. - To play chords on available music instrument via MIDI interface. - To learn fast, new chords and custom built chords. System Overview.

wilmet
Download Presentation

Artem Kuligin CS 470

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Piano Chord Builder Artem Kuligin CS 470

  2. IDEA - Create easy accessible application to build, learn and play modern piano chords. - To play chords on available music instrument via MIDI interface. - To learn fast, new chords and custom built chords. System Overview

  3. General Piano Chords • A chord in music is any set of harmonically-related notes that is heard as if sounding simultaneously - ”harmonically” • All chords are formed by combining certain scale tones according to definitive rule (“Circle of Fifths”) Data Input • Chord Source • Internal application database – most of the chords are being hardcoded. • User file input chords, saved or loaded by user • MIDI input chords from external devices

  4. Data output • Visual. • a) String formula on the screen • b) Graphical presentation on the Circle of Fifths • Audio MIDI. • a) Computer internal sound card - built-in MIDI device • b) ASIO software DSP sound emulator • External General MIDI device - Digital Piano, Keyboard.

  5. User interface • .

  6. Input Data Input Data – Format • Piano Chords • Chord presentation is much the same as industry standard general piano chord. All chords are presented in relative English alphabet letter format. • Ex: C Major - C,E,G. • Same for graphical presentation. All section of Circle of Fifths are marked with note letter label. • Ex: C, C#, A, Ab

  7. Presenting chord data on virtual keyboard • C - Major C D E F G A B

  8. Presenting chord data on the Circle of Fifths • C - Major Note Sequence: C, E, G

  9. Implementation • Chord Data – XML File • System Design: • a) Internal MIDI Engine to generate MIDI messages to audio device • b) Multithreading engine to process music notes in a right order • - Data structures: Hash table, Priority queue. • c) Time based sequencer to play notes in “Legato” style

  10. Environment • C# - Visual studio 2005 • Microsoft Windows API • a) To connect to MIDI input/output devices

  11. System Architecture General Midi output class diagram

  12. Encountered Problems • Lots of theory to cover prior beginning of implementation • MIDI message scheduling. • “General MIDI” Standard. • Communication library for output to external devices • Vista/Win7 – reduced MIDI hardware support.

  13. Schedule WEEK. 1-6: Research. General idea development. Requirements and Input data generalization. Documentation. 6-7: XML Engine implementation. Hardware research. 8-9: UI. Final Specification Review. 10-12: Hardware testing. 13-14: Documentation. Final Debugging. 15: Demonstration

  14. Conclusion • Goal • To deliver a good product that will help beginning piano players to learn and use musical construction rules • To have a good foundation for further development (Portable Devices, Embedded Software and etc…) • To get a good practical skills, while working with musical hardware and software communication

More Related