artem kuligin cs 470

Download Artem Kuligin CS 470

If you can't read please download the document

Upload: wilmet

Post on 07-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Title of Presentation

Artem KuliginCS 470 Piano Chord Builder

4/13/2010 11:00 AM 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

1IDEA- 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 Overview4/13/2010 11:00 AM 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2General Piano ChordsA chord in music is any set of harmonically-related notes that is heard as if sounding simultaneously - harmonicallyAll chords are formed by combining certain scale tones according to definitive rule (Circle of Fifths) Data InputChord SourceInternal application database most of the chords are being hardcoded.User file input chords, saved or loaded by userMIDI input chords from external devices

4/13/2010 11:00 AM 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3Data outputVisual.a) String formula on the screenb) Graphical presentation on the Circle of FifthsAudio MIDI.a) Computer internal sound card - built-in MIDI deviceb) ASIO software DSP sound emulatorExternal General MIDI device - Digital Piano, Keyboard. 4User interface.

4/13/2010 11:00 AM 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

5Input DataInput Data FormatPiano 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

6Presenting chord data on virtual keyboardC - MajorC D E F G A B

7Presenting chord data on the Circle of FifthsC - Major

Note Sequence: C, E, G8ImplementationChord Data XML FileSystem Design:a) Internal MIDI Engine to generate MIDI messages to audio deviceb) 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

9EnvironmentC# - Visual studio 2005Microsoft Windows API a) To connect to MIDI input/output devices

10System Architecture

General Midi output classdiagram11Encountered ProblemsLots of theory to cover prior beginning of implementationMIDI message scheduling.General MIDI Standard.Communication library for output to external devicesVista/Win7 reduced MIDI hardware support.

12ScheduleWEEK. 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:Demonstration13ConclusionGoalTo deliver a good product that will help beginning piano players to learn and use musical construction rulesTo 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 communication14