File size: 2,048 Bytes
572abf8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
"""
The vocabularies used for arrival-time and interarrival-time encodings.
"""

# training sequence vocab

from anticipation.config import *

# the event block
EVENT_OFFSET = 0
TIME_OFFSET = EVENT_OFFSET
DUR_OFFSET = TIME_OFFSET + MAX_TIME
NOTE_OFFSET = DUR_OFFSET + MAX_DUR
REST = NOTE_OFFSET + MAX_NOTE

# the control block
CONTROL_OFFSET = NOTE_OFFSET + MAX_NOTE + 1
ATIME_OFFSET = CONTROL_OFFSET + 0
ADUR_OFFSET = ATIME_OFFSET + MAX_TIME
ANOTE_OFFSET = ADUR_OFFSET + MAX_DUR

# the special block
SPECIAL_OFFSET = ANOTE_OFFSET + MAX_NOTE
SEPARATOR = SPECIAL_OFFSET
AUTOREGRESS = SPECIAL_OFFSET + 1
ANTICIPATE = SPECIAL_OFFSET + 2
VOCAB_SIZE = ANTICIPATE+1

# interarrival-time (MIDI-like) vocab
MIDI_TIME_OFFSET = 0
MIDI_START_OFFSET = MIDI_TIME_OFFSET + MAX_INTERARRIVAL
MIDI_END_OFFSET = MIDI_START_OFFSET + MAX_NOTE
MIDI_SEPARATOR = MIDI_END_OFFSET + MAX_NOTE
MIDI_VOCAB_SIZE = MIDI_SEPARATOR + 1

if __name__ == '__main__':
    print('Arrival-Time Training Sequence Format:')
    print('Event Offset: ', EVENT_OFFSET)
    print('  -> time offset :', TIME_OFFSET)
    print('  -> duration offset :', DUR_OFFSET)
    print('  -> note offset :', NOTE_OFFSET)
    print('  -> rest token: ', REST)
    print('Anticipated Control Offset: ', CONTROL_OFFSET)
    print('  -> anticipated time offset :', ATIME_OFFSET)
    print('  -> anticipated duration offset :', ADUR_OFFSET)
    print('  -> anticipated note offset :', ANOTE_OFFSET)
    print('Special Token Offset: ', SPECIAL_OFFSET)
    print('  -> separator token: ', SEPARATOR)
    print('  -> autoregression flag: ', AUTOREGRESS)
    print('  -> anticipation flag: ', ANTICIPATE)
    print('Arrival Encoding Vocabulary Size: ', VOCAB_SIZE)
    print('')
    print('Interarrival-Time Training Sequence Format:')
    print('  -> time offset: ', MIDI_TIME_OFFSET)
    print('  -> note-on offset: ', MIDI_START_OFFSET)
    print('  -> note-off offset: ', MIDI_END_OFFSET)
    print('  -> separator token: ', MIDI_SEPARATOR)
    print('Interarrival Encoding Vocabulary Size: ', MIDI_VOCAB_SIZE)