ГОСТ Р 53556.5—2013
MIDI definitions
• • • « « « • • « • • « « • • • • « • • « « • • • • « • • « « • « • у
class midi_event {
unsignedint(74) length
unsignedint(S) datapength);
}
class midi_file {
unsignedint(32) length:
unsignedint(8) datapength]:
}
Участки
MIDI
позволяют включать информацию отсчета
MIDI
в заголовке потока битов и поток битов.
Класссобытий
MIDI
содержит единственную инструкцию
MIDI.
Класс файла
MIDI
содержит массив байтов,
соответствующих
MIDIFile
стандартного формата 0 или формата 1. Каждая последовательность данных
может иметь место в любом случае. Допустимые синтаксисы событий
MIDI
и
MIDIFiles
помещают в норма
тивные границы на синтаксически допустимых потоках битов структурированного аудио
MPEG-А.
Участки
данных могут быть длиной до 224-1 и 232-1 байтов. Более длинные сообщения должны быть разбиты на
несколькоэлементов потока битов.
sample data
class sample {
/*
note that ’sample’ can be used for any big chunk of data
thatneeds to getinto a wavetable
7
//length in samples
symbolsample
_
name_sym:
unsignedint(24) length:
bitC\) has_srate.
if(has_srato)
unsignedinto 7) srate:
bitO)has_loop:
if(hasJoop) {
unsignedint(24) loopstart:
unsignedint(24) loopend:}
bit(1) has_bose:
if (has_base)
bit(1) fk>at_samp!e;
if (float_sample) {
float(32) float_sampte_datapengthJ: //data as floats..
}
else {
into 6) sample_datapength]: //... or as ints
//sampling rate (needs to go to
96
KHz)
//loop points in samples
II base freq in Hz
}
}
Участок выборки включает блокданных, который будет включен в звуковую таблицу воркестре
SAOL.
Каждая выборка состоит из имени, длины блока данных, и четырехдополнительных параметров: частота
дискретизации, точки начала цикла и конца цикла, и основная частота. Доступ к данным в выборке обеспе
чивается через генератор звуковой таблицы выборки.
Данные выборки могут быть представлены как32-разрядиые значения с плавающей точкой, тогда они
должны масштабироваться между -1 и 1или как 16-разрядные целочисленные значения, тогда они должны
масштабироваться между -32768 и 32767. В случае, когда данные выборки представляются как целочис
ленные значения, после включения взвуковую таблицу, они должны повторно масштабироваться к плава
ющей точке.
Каждая выборка именуется символом. Если удвух выборок в заголовке конфигурации декодера или
в модуле одиночного обращения одно и то же имя. результат является неустановленным. Если у выборки
в модуле доступа будет то же имя каку выборки в предыдущем модуле доступа или в заголовке конфигу
рации декодера, то новая выборка должна заменить старую выборкудля доступов к нему по этому имени
6