The University of Sheffield
Department of Computer Science

Michael Newton Undergraduate Dissertation 2000/01

"Creating musical compositions with Java"

Supervised by A.Simons

Abstract

Java provides support for Musical Instrument Digital Interface (MIDI) programming with the Java Sound API. This study investigates the facilities that Java provides for MIDI programmers and looks at using other Java packages such as Java Swing for interface design and implementing user interaction. Java's suitability for building MIDI musical compositions will be demonstrated by producing a Simple Music Composer Application allowing basic facilities for music construction, playback using MIDI synthesis and the saving of musical compositions. The investigation highlights design issues that are involved with interface design and MIDI programming. These include constructing musical notation, printing a musical score to paper, conforming to MIDI standards to save and load Standard MIDI Files and producing musical notation from a given MIDI file. The results of the development work and the research behind the Simple Music Composer is presented together with the specification, design and implementation details in this report.