manuel-l01's picture
Initial commit
572abf8
"""
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)