Presentation is loading. Please wait.

Presentation is loading. Please wait.

Piano Chord Builder Artem Kuligin CS 470 6/17/2018 3:08 AM

Similar presentations


Presentation on theme: "Piano Chord Builder Artem Kuligin CS 470 6/17/2018 3:08 AM"— Presentation transcript:

1 Piano Chord Builder Artem Kuligin CS 470 6/17/2018 3:08 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.

2 6/17/2018 3:08 AM System Overview 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. © 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.

3 Data Input General Piano Chords Chord Source
6/17/2018 3:08 AM Data Input 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”) 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 © 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.

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 6/17/2018 3:08 AM User interface . © 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.

6 Input Data Input Data – Format Piano Chords Ex: C Major - C,E,G.
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 8

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 9

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

11 System Architecture General Midi output class diagram 11

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. 12

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 13

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 14


Download ppt "Piano Chord Builder Artem Kuligin CS 470 6/17/2018 3:08 AM"

Similar presentations


Ads by Google