Events
OScofo for now supports four events, NOTE, TRILL, CHORD and REST. Before define then, I need to explain how to represent PITCHES and DURATIONS.
Check the MusicXML Importer
OScofo has a MusicXML importer, it is very accurate and tested on MuseScore and Sibelius (but should work for all major programs).
Pitches and Durations
PITCH
On OScofo pitches are represented by name or MIDI.
NOTENAME: Things likeC4,Db5,C#5,Gb5, etc...MIDI: NormalMIDI. 60 forC4, 67 forG4, etc...
DURATION
Different from Antescofo, on OScofo you just represent <DURATION> using number of tempos.
So fraction representation is not support, mainly because something like 1 is ambiguous with 1/1. And, for me, in fraction will be necessary to define the Time Unity to be a more precise language.
Because that OScofo uses time representation relative to the value of BPM define previously. For example, if in your score you have the BPM set as = 60 this means that
- duration value is
2; - duration value is
1; - is
0.5, - is
0.25
if in your score you have the BPM set as = 60 this means that
- duration value is
4; - duration value is
2; - is
1, - is
0.5
For duration with dot, you sum it.
Compound Time Signatures
Avoid to use Compound Time Signatures as = 60, because this means that the will be equal to 0.33, prefer to use = 180.
Events
NOTE
NOTE events describes normal pitches. It must be defined as NOTE <PITCH> <DURATION>.
NOTE C4 2NOTE 60 2NOTE C#5 0.3NOTE Bb3 0.25
TRILL
TRILL events describes trill and tremolo events. It must be defined as TRILL (<PITCH1> <PITCH2>) <DURATION>.
TRILL (C4 D4) 2TRILL (60 67) 2TRILL (C#5 E5) 0.3TRILL (Bb4 D5) 0.25
CHORD
CHORD events describes chord, stable multiphonics, and others events. It must be defined as CHORD (<PITCH1> <PITCH2>) <DURATION>.
CHORD (C4 E4 G4) 2CHORD (60 64 67) 2CHORD (C#5 E5 Ab5) 0.3CHORD (Bb4 D5 F4) 0.25
REST
REST events describes rests. It must be defined as REST <DURATION>.
REST 0.2REST 4