Musical strikes, tones and pauses (of rhythmic and melodic lines see MusicalToneType) are recorded in the MusicalStrike, MusicalTone, and MusicalPause classes. There are two types of tones - rhythmic (MusicalStrike) tones and melodic -respectively. rhythmic-melodic - tones (MusicalTone).
To create rhythms 2 objects are sufficient - tone (MusicalStrike) and pause (MusicalPause):
Tones (MusicalTone) have - in addition to strokes and pauses - also pitch (MusicalPitch). The musical pitch has two basic characteristics - the octave position (MusicalOctave) and self (inner) height, usually 0-11..
These numbers correspond to the names of notes (MusicalNote) - in fact, less symbols are used in music and they are moved by supplementary signs - musical accidentals (see MusicalNoteAlter). However, representations of music are not essential for music analysis or composition.
In connection with other concepts, notation systems, etc., some support classes and enumerations can serve: MusicalClef, NoteLength, NoteHeight, TupletNumber.
The volume of the tones is defined (in steps) in MusicalLoudness.
Interval between tones - in general (MusicalInterval) and as a relationship of two heights (MelodicInterval): The basic music intervals (within the octave) are given in IntervalType.
By default, the music tempo f is beat per minute (BPM), ie f / 60 is the number of beats per second. Enumeration MusicalTempo includes some basic music tempo used (Tempo10 = Gravissimo, ..., Tempo270 = Prestissimo). In MIDI, the tempo (MetaTempo) is derived from the duration of the quarter note (Tc) given in microseconds, i.e. in in millionths of a second). Thence f [BPM] = 60 * 106 / Tc [μs], resp. f/60 / 10^6 = 1 / Tc [μs], resp. for T given in milliseconds would be f/60 /10^3 = 1 / T [ms] .
When we mark the division of a quarter note in MIDI with the letter D, then T / D is the duration of one MIDI tick in [ms]. Whereas D/T = f/60 /10^3. If a timer gives pulses at a time interval r [ms], MIDI time (so called delta-time, dt) have to be calculated by multiplying r by coefficient q, thus dt [tiků] = r * q, where q = D * f /60/(1000 D).