Developpement Guide

Author : Clément Soulard

Last Modification Date : May 31, 2004

Introduction

This document is a work in progress.Right now, you may be not tuned to the bazaar in my head while reading this doc. That is truly normal ! If you are interested in Alternate Take, you may better email me. At the moment this document is just here not to let Alternate Take undocumented.

But, if you have any suggestions on this document or if you plan to use some portion in an other document just let me know. In any case, I will carefully study your suggestions.

A last word, before the real start : I am sorry for my english, I'm not not a native english speaker, but this let more readers able to read the doc.

---------------------------
Real doc starts here
---------------------------

This document is intendend to be a guide in the complexity in musical notation. It formalize rules of writing. It is written to let the developper get the concepts and vocabulary clear before he modify some code.

For the reading of this document we assume that you can read and write music. With this background, you should be able to read without difficulties the definition chapter. This document is intended to provide developper and student with a few guidelines. Nevertheless I will remind the vocabulary because most of the time the designated concepts are a bit fuzzy.

Writing Music

Other materials (Do not read)

American notation

American notation is used to represent chords. We can consider this as just an extension of the classical notation. Chord have no constraint in duration. But generally, the chord is tied to a note.

Drums notation

The drums notation must be considered differently as the duration of a note cannot be controlled for a drums. But as in the last case, musicians consider that the note last the time that make it possible to think it like a voice.

Tablature notation

It is surjective in the field of classical notation. But it has the same constrain in term of duration.

Writing music and grammar

The grammar

A grammar is langage dependent so you have one grammar for each language. Althougth there is a common trunk for every grammar.

So we can split in :

Music Writing (Common trunk)
----- Standard Notation
----- Tablature Notation
----- Drum Notation
----- American Notation

We detail those grammar by explaining every rules, i.e. The correct writing definition, an example of misswriting and the process to coorect the mistake if some.

Music Notation (Common trunk)
Every graphic representation of a symbol on the X axis shall be simultaneous.
X axis time correction

Voice emiting the same signal wont have the symbol represented twice.

Correction for several voice

 

 

Standard Notation

The time signature correspond to the number of thick in the measure

Wrong and correct

Case Study n°1

Case study n°2

Case study n°3

Stems and grouping the doble, quarter etc. does not recover themselves by mean of 2D space.

Stems drawing

Case Study n°1

Case study n°2

 

 

There is an usual conception of music that is : Music has to be writed correctly or else it cannot be read. So far I know this philosophy has been retained in every Music Sheet Editor. This is indeed false, a music having no care on on the beats and time could be read. For example the fugua in D minor for Organ is just a succession of notes note caring much for tempo. We will try in the component of defining and separating as much as possible the grammar from the writing.

The total sum of each duration (in ticks) of events in a measure should be Beats/DivisionxResolution

Grammar modes

There is two ways of typing music notes in a score

Auto correction Mode : Every time a note is typed we check and correct the sequence to be OK with the grammar

Correction on signal : the orthograph is checked at a given signal

Alternate : An alternate way of functionning would be to allow one by one every rule to decide what rule should be applied at every modification or not.

For the program we wish an alternate way. And attribute automatic to some rules, and on signal to other. Anyway there will be one mode where every corrections should be enabled.

Priorities of rules

Exactly like we do with tex, we must think of the writing of a music like a compilation. A compilation can make several passes. Each time applying the same rules, some notes wil be correct once we computed every rules and the representation keep the same. To apply rules there is a sequence to make the notes correct in the minimum passes.

X axis time correction

Measure time correction

Stems grouping

Stems orientation

Stems positionning

The X axis time correction

This rule apply in every measure and you can apply this rule without considering other measures.

A measure can exist without any symbol in it. In contrast with Finale Editor, the orthograph of a measure shall be foresee as a correction program.

On the insert of a note, if there is a not measure following the one we are in then a new measure will be added or the cursor move to the next measure. If the measure is already filled and full but the next measure has a beginning fillement then the note will be added whether or not constrain as orthograph.

Standard grammar

Resize the measure on editing

Step 1

The measure has a round on the second staff : The principle would be the same if we have several parts, or several voice

Step2

We draw a few notes, the measue grow in size

Step 3

Once this every voice if filled then the measure is done we can do some final calculus to resize correctly the measure

.

Stems grouping

When to group notes

Notes are successive (No rest between them)

The first note of a sequence begin at a quarter time and the last note of a sequence end at a quarter time.
Or

The first note begin at a double time and the last note end at a double time

We notice thet the third criteria is always true if the second is true so we does not evaluate this one in this case.

Process

Grouping stems

Wrong and correct

Drawing stems

Stems drawing

Changing the signature

Introduction