Fixed heissenbug caused by quat initialization and added sound server.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
Midi events delta time
|
||||
|
||||
https://sites.uci.edu/camp2014/2014/05/19/timing-in-midi-files/
|
||||
http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html#BM2_3
|
||||
|
||||
- Delta-time is in some fraction of a beat (or a second, for recording a track with SMPTE times), as specified in the header chunk.
|
||||
- nardis header track:
|
||||
Format: 1
|
||||
tracks: 10
|
||||
division : 480
|
||||
The third word, <division>, specifies the meaning of the delta-times.
|
||||
It has two formats, one for metrical time, and one for time-code-based time:
|
||||
|
||||
bit 15 bits 14 thru 8 bits 7 thru 0
|
||||
======|===============================|==============
|
||||
0 | ticks per quarter-note
|
||||
1 | negative SMPTE format | ticks per frame
|
||||
|
||||
If bit 15 of <division> is zero, the bits 14 thru 0 represent the number of delta time "ticks" which make up a quarter-note.
|
||||
For instance, if division is 96, then a time interval of an eighth-note between two events in the file would be 48.
|
||||
|
||||
nardis division == 480 => bit 15 is zero, so we have 480 ticks per quarter note.
|
||||
default tempo is 120, if not specified by a meta event
|
||||
default time signature is 4/4 if not specified by a meta event
|
||||
nardis has 4/4 time signature and tempo of 300000 microseconds per quarter note
|
||||
|
||||
|
||||
MIDI header track gives division, which is PPQ (parts per quarter or ticks per quarter note). Nardis = 480 => delta time of 480 means a quarter note.
|
||||
But how long is a quarter note? that is given by the tempo.
|
||||
|
||||
|
||||
|
||||
PITCH bending
|
||||
https://sites.uci.edu/camp2014/2014/04/30/managing-midi-pitchbend-messages/
|
||||
- we get a 14bit value, [0..16383]
|
||||
- map this to [-1..1], meaning that 16383/2 means no bend
|
||||
- the float is the relative amount of bending, we should multiply it by a synth setting which says what is the bending range (+/- 2 semitones for example)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user