An Object-Oriented Toolkit for Music Notation

Total Page:16

File Type:pdf, Size:1020Kb

An Object-Oriented Toolkit for Music Notation An Object-Oriented Toolkit for Music Notation THESIS Submitted in Fulfilment of the requirements for the Degree of MASTER OF SCIENCE (APPLIED COMPUTER SCIENCE) by Andrew Arnold Eales November 1998 Supervisor : Dr. R.J. Foss Abstract This thesis investigates the design and implementation of an object-oriented toolkit for music notation. It considers whether object-oriented technology provides features that are desirable for representing music notation. The ability to sympathetically represent the conventions of music notation provides software tools that are flexible to use, and easily extended to represent less common features of music notation. The design and implementation of an object-oriented class hierarchy that captures the structural and semantic relationships of music notation symbols is described. Functions that search for symbols, and update symbol positions are also implemented. Traditional context-sensitive and spatial relationships between music symbols may be maintained, or extended to provide notational features found in modern music. MIDI functionality includes the ability to play music notation and to allow step-recording of MIDI events. The toolkit has been designed to simplify the creation of applications that make use of music notation; example applications are created to demonstrate its capabilities. Keywords : object-oriented, music notation, computer music. i Table of Contents 1. Introduction 1.1 Computers and Music Notation ..................................................... 1 1.2 Object-Oriented Software Design .................................................. 1 1.3 Designing Music Notation Software .............................................. 2 1.4 Music Notation and MIDI ............................................................. 2 1.5 Project Objectives ......................................................................... 3 2. An Overview of Music Notation 2.1 Traditional Music Notation ........................................................... 5 2.2 The Notational Hierarchy .............................................................. 6 2.2.1 Score and Pages ........................................................... 7 2.2.2 Systems and Staves ...................................................... 7 2.2.3 Clefs and Key-Signatures ............................................. 10 2.2.4 Time-Signatures ........................................................... 11 2.2.5 Bars and Barlines ......................................................... 12 2.2.6 Voices .......................................................................... 14 2.2.7 Notes, Rests, and Chords .............................................. 15 2.2.7.1 Notes ............................................................. 15 2.2.7.2 Rests .............................................................. 16 2.2.7.3 Chords ........................................................... 17 2.2.8 Beams .......................................................................... 18 2.2.9 Articulation Symbols and Ornaments ............................ 19 2.2.10 Dynamics, and Auxiliary Symbols ............................... 20 2.2.11 Parts ........................................................................... 21 2.3 Classifying Notation Symbols ....................................................... 22 2.3.1 Context-Sensitive Relationships ..................................... 22 2.3.2 Semantic Constituents ................................................... 22 2.3.3 Semantic Modifiers ....................................................... 23 2.3.4 Notational Conveniences ................................................ 23 2.3.5 Spatially Dependent Symbols ......................................... 24 ii 3. Music Notation Software and Software Tools 3.1 Overview ......................................................................................25 3.2 Music Notation Software ............................................................... 25 3.2.1 Finale ............................................................................ 25 3.2.2 Encore ...........................................................................27 3.2.3 MUSICA ........................................................................ 29 3.2.4 Copyist ......................................................................... 29 3.2.5 Other Notation Programs ............................................... 30 3.3 Sequencers and Educational Software ........................................... 31 3.4 Software Tools for Music Notation ............................................... 32 3.4.1 Notation Interchange File Format ................................... 33 3.4.2 The Notation Engine ..................................................... 34 3.4.3 Music Fonts .................................................................. 34 3.5 Object-Oriented Music Representation .......................................... 36 4. Designing an Object-Oriented Toolkit for Music Notation 4.1 Object-Oriented Development Methods .......................................... 37 4.1.1 Selecting a Method ......................................................... 38 4.2 Object-Oriented analysis and Design ............................................. 39 4.2.1 The Coad Method ........................................................... 39 4.3 Identifying objects and their relationships ...................................... 41 4.3.1 Scores, Pages and Score Templates ............................... 42 4.3.2 Systems and Staves ....................................................... 45 4.3.3 Bars and Barlines ......................................................... 48 4.3.3.1 Bar Representation ....................................... 51 4.3.3.2 Barline Relationships .................................... 53 4.3.3.3 Secondary Bars ............................................. 55 4.3.4 Clefs, Key-Signatures and Time-Signatures .................. 56 4.4 Voices ......................................................................................... 58 iiii 4.5 Note, Rest and Chord Relationships ............................................... 59 4.5.1 Note Structure ............................................................... 59 4.5.2 Rests ............................................................................ 61 4.5.3 Chords and MusicEvent Objects .................................... 62 4.6 Beams and Beamed Groups .......................................................... 64 4.7 Irregular Groups ........................................................................... 67 4.8 MIDI Message Objects .................................................................. 68 4.9 Part Obje cts ................................................................................. 69 4.10 Defining Object Relationships ..................................................... 70 4.11 Comparing MUSICA and the OOTMN .......................................... 77 4.11.1 Abstract Classes in MUSICA ........................................ 78 4.11.2 The MUSICA Class Hierarchy ...................................... 78 5. Implementing the Toolkit for Music Notation in C++ 5.1 Selecting a Development Environment ............................................ 81 5.2 Real-World Models and Machine Models ....................................... 82 5.3 An Object-Oriented Implementation of the Model ........................... 83 5.3.1 Creating objects ............................................................. 84 5.3.2 Storing Objects .............................................................. 85 5.3.3 Searching for Objects ..................................................... 86 5.3.4 Moving Objects ............................................................. 89 5.4 Implementing Objects .................................................................... 93 5.4.1 Encoding Music Symbols ............................................... 93 5.4.2 Representing Notes ........................................................ 93 5.4.2.1 Name Class .................................................... 93 5.4.2.2 Pitch Class ..................................................... 94 5.4.2.3 Octave Representation .................................... 95 5.4.3 Line Symbols ................................................................. 96 5.4.4 Special Symbols ............................................................ 97 5.4.4.1 Slurs, Ties, and Phrase Markings ................... 97 5.4.4.2 Beams ........................................................... 98 iv 5.5 MIDI Playback ............................................................................. 99 5.5.1 MIDI Synchronisation ................................................... 100 5.6 Algorithms used by the OOTMN ................................................... 103 5.6.1 Creating Beamed Groups .............................................. 103 5.6.2 Calculating Grouplet Durations ..................................... 105 5.6.3 Implementing MIDI Playback ......................................... 106 6. Examples of Toolkit-Created Applications 6.1 Designing Applications using the OOTMN ..................................... 108 6.2 Notation and Composition software ............................................... 109 6.2.1 User-interface Design ..................................................... 109 6.2.2 Using the Notation and Composition Program ................ 111 6.2.3 Secondary Bars, Secondary Stems and Split-Stem Chords ........................................................
Recommended publications
  • Sibelius Artwork Guidelines Contents
    Sibelius Artwork Guidelines Contents Conditions of use ...........................................................................................................................3 Important information ..................................................................................................................4 Product names and logos.............................................................................................................5 Example copy..................................................................................................................................6 Endorsees ........................................................................................................................................7 Reviews............................................................................................................................................8 Awards...........................................................................................................................................11 House Style ...................................................................................................................................12 Conditions of use Who may use this material Authorized Sibelius distributors and dealers are permitted to reproduce text and graphics on this CD in order to market Sibelius products or PhotoScore, but only if these guidelines are adhered to, and all artwork is used unmodified and cleared by Sibelius Software before production of final proofs. Acknowledge trademarks Please
    [Show full text]
  • Scanscore 2 Manual
    ScanScore 2 Manual Copyright © 2020 by Lugert Verlag. All Rights Reserved. ScanScore 2 Manual Inhaltsverzeichnis Welcome to ScanScore 2 ..................................................................................... 3 Overview ...................................................................................................... 4 Quickstart ..................................................................................................... 4 What ScanScore is not .................................................................................... 6 Scanning and importing scores ............................................................................ 6 Importing files ............................................................................................... 7 Using a scanner ............................................................................................. 7 Using a smartphone ....................................................................................... 7 Open ScanScore project .................................................................................. 8 Multipage import ............................................................................................ 8 Working with ScanScore ..................................................................................... 8 The menu bar ................................................................................................ 8 The File Menu ............................................................................................ 9 The
    [Show full text]
  • An Exploration of the Relationship Between Mathematics and Music
    An Exploration of the Relationship between Mathematics and Music Shah, Saloni 2010 MIMS EPrint: 2010.103 Manchester Institute for Mathematical Sciences School of Mathematics The University of Manchester Reports available from: http://eprints.maths.manchester.ac.uk/ And by contacting: The MIMS Secretary School of Mathematics The University of Manchester Manchester, M13 9PL, UK ISSN 1749-9097 An Exploration of ! Relation"ip Between Ma#ematics and Music MATH30000, 3rd Year Project Saloni Shah, ID 7177223 University of Manchester May 2010 Project Supervisor: Professor Roger Plymen ! 1 TABLE OF CONTENTS Preface! 3 1.0 Music and Mathematics: An Introduction to their Relationship! 6 2.0 Historical Connections Between Mathematics and Music! 9 2.1 Music Theorists and Mathematicians: Are they one in the same?! 9 2.2 Why are mathematicians so fascinated by music theory?! 15 3.0 The Mathematics of Music! 19 3.1 Pythagoras and the Theory of Music Intervals! 19 3.2 The Move Away From Pythagorean Scales! 29 3.3 Rameau Adds to the Discovery of Pythagoras! 32 3.4 Music and Fibonacci! 36 3.5 Circle of Fifths! 42 4.0 Messiaen: The Mathematics of his Musical Language! 45 4.1 Modes of Limited Transposition! 51 4.2 Non-retrogradable Rhythms! 58 5.0 Religious Symbolism and Mathematics in Music! 64 5.1 Numbers are God"s Tools! 65 5.2 Religious Symbolism and Numbers in Bach"s Music! 67 5.3 Messiaen"s Use of Mathematical Ideas to Convey Religious Ones! 73 6.0 Musical Mathematics: The Artistic Aspect of Mathematics! 76 6.1 Mathematics as Art! 78 6.2 Mathematical Periods! 81 6.3 Mathematics Periods vs.
    [Show full text]
  • Why and How I Use Lilypond Daniel F
    Why and How I Use LilyPond Daniel F. Savarese Version 1.1 Copyright © 2018 Daniel F. Savarese1 even with an academic discount. I never got my money's Introduction worth out of it. At the time I couldn't explain exactly why, but I was never productive using it. In June of 2017, I received an email from someone using my classical guitar transcriptions inquiring about how I Years later, when I started playing piano, I upgraded to use LilyPond2 to typeset (or engrave) music. He was the latest version of Finale and suddenly found it easier dissatisfied with his existing WYSIWYG3 commercial to produce scores using the software. It had nothing to software and was looking for alternatives. He was im- do with new features in the product. After notating eight pressed with the appearance of my transcription of Lá- original piano compositions, I realized that my previous grima and wondered if I would share the source for it difficulties had to do with the idiosyncratic requirements and my other transcriptions. of guitar music that were not well-supported by the soft- ware. Nevertheless, note entry and the overall user inter- I sent the inquirer a lengthy response explaining that I'd face of Finale were tedious. I appreciated how accurate like to share the source for my transcriptions, but that it the MIDI playback could be with respect to dynamics, wouldn't be readily usable by anyone given the rather tempo changes, articulations, and so on. But I had little involved set of support files and programs I've built to need for MIDI output.
    [Show full text]
  • Integrating Paper and Digital Music Information Systems Karen Lin and Tim Bell University of Canterbury, Christchurch, New Zealand
    Integrating Paper and Digital Music Information Systems Karen Lin and Tim Bell University of Canterbury, Christchurch, New Zealand Abstract Active musicians generally rely on extensive personal paper-based music information retrieval systems containing scores, parts, compositions, and arrangements of published and hand-written music. Many have a bias against using computers to store, edit and retrieve music, and prefer to work in the paper domain rather than using digital documents, despite the flexibility and powerful retrieval opportunities available. In this paper we propose a model of operation that blurs the boundaries between the paper and digital domains, offering musicians the best of both worlds. A survey of musicians identifies the problems and potential of working with digital tools, and we propose a system using colour printing and scanning technology that simplifies the process of moving music documents between the two domains. Keywords : user interfaces, user needs, optical music recognition 1. Introduction Traditionally musicians have stored and retrieved music scores using paper-based systems. Many musicians have built up personal libraries of music books, compositions, arrangements and sheet music. The acquisition or creation of documents is straightforward, but the retrieval or modification of scores is hindered by the inflexibility of the paper medium. A digital music library would have a number of benefits, including convenient retrieval (instead of searching through piles of music), ease of processing (such as part extraction), and communication (sending electronic copies to other performers). However working with digital documents also poses significant barriers for users more familiar with traditional paper documents. In this paper we explore the relationship between the paper and digital domains, and the possibility of allowing easy conversion between the two to allow documents to exist in both domains and be processed in whichever domain is the most convenient.
    [Show full text]
  • How to Read Music Notation in JUST 30 MINUTES! C D E F G a B C D E F G a B C D E F G a B C D E F G a B C D E F G a B C D E
    The New School of American Music How to Read Music Notation IN JUST 30 MINUTES! C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E 1. MELODIES 2. THE PIANO KEYBOARD The first thing to learn about reading music A typical piano has 88 keys total (including all is that you can ignore most of the informa- white keys and black keys). Most electronic tion that’s written on the page. The only part keyboards and organ manuals have fewer. you really need to learn is called the “treble However, there are only twelve different clef.” This is the symbol for treble clef: notes—seven white and five black—on the keyboard. This twelve note pattern repeats several times up and down the piano keyboard. In our culture the white notes are named after the first seven letters of the alphabet: & A B C D E F G The bass clef You can learn to recognize all the notes by is for classical sight by looking at their patterns relative to the pianists only. It is totally useless for our black keys. Notice the black keys are arranged purposes. At least for now. ? in patterns of two and three. The piano universe tends to revolve around the C note which you The notes ( ) placed within the treble clef can identify as the white key found just to the represent the melody of the song.
    [Show full text]
  • Musical Notation Codes Index
    Music Notation - www.music-notation.info - Copyright 1997-2019, Gerd Castan Musical notation codes Index xml ascii binary 1. MidiXML 1. PDF used as music notation 1. General information format 2. Apple GarageBand Format 2. MIDI (.band) 2. DARMS 3. QuickScore Elite file format 3. SMDL 3. GUIDO Music Notation (.qsd) Language 4. MPEG4-SMR 4. WAV audio file format (.wav) 4. abc 5. MNML - The Musical Notation 5. MP3 audio file format (.mp3) Markup Language 5. MusiXTeX, MusicTeX, MuTeX... 6. WMA audio file format (.wma) 6. MusicML 6. **kern (.krn) 7. MusicWrite file format (.mwk) 7. MHTML 7. **Hildegard 8. Overture file format (.ove) 8. MML: Music Markup Language 8. **koto 9. ScoreWriter file format (.scw) 9. Theta: Tonal Harmony 9. **bol Exploration and Tutorial Assistent 10. Copyist file format (.CP6 and 10. Musedata format (.md) .CP4) 10. ScoreML 11. LilyPond 11. Rich MIDI Tablature format - 11. JScoreML RMTF 12. Philip's Music Writer (PMW) 12. eXtensible Score Language 12. Creative Music File Format (XScore) 13. TexTab 13. Sibelius Plugin Interface 13. MusiXML: My own format 14. Mup music publication program 14. Finale Plugin Interface 14. MusicXML (.mxl, .xml) 15. NoteEdit 15. Internal format of Finale (.mus) 15. MusiqueXML 16. Liszt: The SharpEye OMR 16. XMF - eXtensible Music 16. GUIDO XML engine output file format Format 17. WEDELMUSIC 17. Drum Tab 17. NIFF 18. ChordML 18. Enigma Transportable Format 18. Internal format of Capella (ETF) (.cap) 19. ChordQL 19. CMN: Common Music 19. SASL: Simple Audio Score 20. NeumesXML Notation Language 21. MEI 20. OMNL: Open Music Notation 20.
    [Show full text]
  • Tantacrul Pain Points Addressed in This Document
    Note Input Bar Redesign Tantacrul Pain Points Addressed in this Document • The NOTE INPUT BUTTON requires unnecessary steps when notating, which complicates the first time experience • There are too many options at the outset • Customisation is difficult to discover • Certain icons are hard to read (mainly ‘Note input’, ’Tie’ and ‘Flip direction’) • There are some inefficiencies with adding rests Out of Scope • Shortcuts Overview A brief description of visual & layout changes Workspace: Default Customise Note input 3 1 2 Palettes Inspector Add more palettes Accidentals More Clefs More Duet no.9 Time signatures More Key signatures More Grace notes More Grace notes More Bar lines More Text This is the proposed default layout of the Note Input Bar Workspace: Default Customise Note input 3 1 2 Palettes Inspector Add more palettes Only two voices (more can be accessed More descriptive Note Input button from the ‘Customise’ button on the far left) (New icon TBD) Accidentals * This particular suggested optimisation should not be More done without seeking wider approval Clefs ‘Customise’ is a button that triggers the existing ‘Customise String Quartet no.9 Toolbars’ dialog More A new Tuplet dropdown Time signatures More Redesigned icons for ‘Tie’ and ‘Flip direction’ Key signatures More (These are not final & ‘Flip direction’ needs to be tested) Grace notes More Less cluttered rest icon Grace notes More Bar lines More Text The Note Input Button Unlike Sibelius, Finale and Dorico, MuseScore requires the user to click a Note Input button before you can actually enter notes. Where the other notation apps have the same concept, they allow the user to immediately enter this mode by clicking on a note duration.
    [Show full text]
  • App Midi to Transcription
    App Midi To Transcription soEolian parchedly? Carlyle rejectMarkus therewith unnaturalised and slubberingly, curtly. she marver her tarp jouk altruistically. Is Sim backboneless or Saxon after unplanted Simmonds composing The soundfonts or end of sibelius that these are appealing in use the smallest note after i have issues, covering two warnings says copyright says it hear about that transcription app to midi Just ask google and drop on Reflow. Software Limited, like Forte, the Reader seamlessly peeks the first few lines from the next page over the top. Sibelius first page feature that midi app pretty much with a dynamic sheet for apps together pitches make? Easily transpose to annotate, transcription app from carl turner for. Analyze to rattle the alarm music! Some values may be grayed out based on the time signatures in the song to ensure every beat contains at least one smallest note. Imported MIDI files also translated well. You so transcriptions, transcription or key or bass clef. Are not do try it means that transcription results. For midi app for abc translation mistakes in your changes appearance to prominently display on your computer, thank you very intuitive. If you write from elementary looping, while it we then arrange straight to understand how easy to prevent unwanted notes are using just downloaded and editing. Mail, Windows, and importing audio files requires a pro subscription. Music though a less of velocity daily life and to branch it more meaningful. Export xml export of its actual name, or a know about music transcription is enhanced for use of? As midi app subscription plan, modern daw or track.
    [Show full text]
  • Music Is Made up of Many Different Things Called Elements. They Are the “I Feel Like My Kind Building Bricks of Music
    SECONDARY/KEY STAGE 3 MUSIC – BUILDING BRICKS 5 MINUTES READING #1 Music is made up of many different things called elements. They are the “I feel like my kind building bricks of music. When you compose a piece of music, you use the of music is a big pot elements of music to build it, just like a builder uses bricks to build a house. If of different spices. the piece of music is to sound right, then you have to use the elements of It’s a soup with all kinds of ingredients music correctly. in it.” - Abigail Washburn What are the Elements of Music? PITCH means the highness or lowness of the sound. Some pieces need high sounds and some need low, deep sounds. Some have sounds that are in the middle. Most pieces use a mixture of pitches. TEMPO means the fastness or slowness of the music. Sometimes this is called the speed or pace of the music. A piece might be at a moderate tempo, or even change its tempo part-way through. DYNAMICS means the loudness or softness of the music. Sometimes this is called the volume. Music often changes volume gradually, and goes from loud to soft or soft to loud. Questions to think about: 1. Think about your DURATION means the length of each sound. Some sounds or notes are long, favourite piece of some are short. Sometimes composers combine long sounds with short music – it could be a song or a piece of sounds to get a good effect. instrumental music. How have the TEXTURE – if all the instruments are playing at once, the texture is thick.
    [Show full text]
  • Power Tab Editor ❍ Appendix B - FAQ - a Collection of Frequently Asked Questions About the Power Tab Editor
    Help Topics ● Introduction - Program overview and requirements ● What's New? - Program Version history; what was fixed and/or added in each version of the program ● Quick Steps To Creating A New Score - A simple guide to creating a Power Tab Score ● Getting Started ❍ Toolbars - Information on showing/hiding toolbars ❍ Creating A New Power Tab File - Information on how to create a new file ❍ The Score Layout - Describes how each Power Tab Score is laid out ❍ Navigating In Power Tab - Lists the different ways that you can traverse through a Power Tab score. ❍ The Status Bar - Description of what each pane signifies in the status bar. ● Sections and Staves ❍ What Is A Section? - Information on the core component used to construct Power Tab songs ❍ Adding A New Section - Information on how to add a new section to the score ❍ Attaching A Staff To A Section - Describes how attach a staff to a section so multiple guitar parts can be transcribed at the same time ❍ Changing The Number Of Tablature Lines On A Staff - Describes how to change the number of tablature staff lines on an existing staff ❍ Inserting A New Section - Describes how to insert a section within the score (as opposed to adding a section to the end of a score) ❍ Removing A Section Or Staff - Describes how to remove a section or staff from the score ❍ Position Width and Line Height - Describes how to change the width between positions and the distance between lines on the tablature staves ❍ Fills - Not implemented yet ● Song Properties ❍ File Information - How to edit the score
    [Show full text]
  • Beyond PDF – Exchange and Publish Scores with Musicxml
    Beyond PDF – Exchange and Publish Scores with MusicXML MICHAEL GOOD! DIRECTOR OF DIGITAL SHEET MUSIC! ! APRIL 12, 2013! Agenda • Introduction to MusicXML • MusicXML status and progress in the past year • Possible future directions for MusicXML • Interactive discussions throughout What is MusicXML? • The standard open format for exchanging digital sheet music between applications • Invented by Michael Good at Recordare in 2000 • Developed collaboratively by a community of hundreds of musicians and software developers over the past 13 years • Available under an open, royalty-free license that is friendly for both open-source and proprietary software • Supported by over 160 applications worldwide What’s Wrong With Using PDF? • PDF: Portable Document Format • The standard format for exchanging and distributing final form documents • High graphical fidelity • But it has no musical knowledge – No playback – No alternative layouts – Limited editing and interactivity • PDF duplicates paper – it does not take advantage of the interactive potential for digital sheet music MusicXML Is a Notation Format • Music is represented using the semantic concepts behind common Western music notation • Includes both how a score looks and how it plays back • Includes low-level details of the appearance of a particular engraving, or the nuances of a particular performance – Allows transfer of music between applications with high visual fidelity – Also allows the visual details to be ignored when appropriate – The best display for paper is often not the best for
    [Show full text]