ГОСТ Р 53556.5—2013
// the name of the sample
//
the number ofpfields
// concat
if(refersJo_sample)
symbol table_sym:
unsignedтЦЩ пит_pf:
if (tgen
== 0x7
D) {
fioat(32) size:
symbol ft[num_pf
-
17
; 7
else {
float (32) pfjnum_pf]:}
//when codingsample generator, leave a blank arrayslot
//for ’which’parameter, to maintain alignment for "skip"parameter
}
}
class end_event {
//fixed at nothing
}
class tempojevent { //a tempo event
float(32) tempo:
}
class scorejine {
bit(V hasjime:
if (hasjime) {
bit 0) usejfjate;
float(32) time:// the event time
}
bit
(1
) high_phority:
bit(3) type;
switch (type) {
case ObOOO: instr_event inst: break:
case 0b001: control_event control: break:
case
06010
: table_event table; break:
case
ОЫОО:
end_event end: break:
case
0M01 :
tempo_event tempo: break:
}
}
class score_file {
unsignedint(20) numjines: //a whole score file
scorejine lines[numjines]:
}
Файл отсчета является рядом строк информации об отсчете, предоставленной в заголовке информа
ции о потоке. События, которые известны перед началом передачи потока битов в реальном времени, могут
быть включены в заголовок так, чтобы они сразу былидоступны декодеру,что может помочь эффективному
вычислению в определенных реализациях. Каждая линия должна быть одним из пяти событий. У каждого
типа событий есть свои импликации в процессе декодирования и планирования. Инструмент событий опре
деляет время старта, инструмент символа имени, продолжительность, и любые другие параметры звука,
проигрываемого на инструменте
SAOL.
Событие управления определяет параметр управления, который
передают инструменту или инструментам, уже генерирующим звук. Таблица событий динамически создает
или уничтожает глобальную звуковую таблицу в оркестре. Событие конца показывает конец работы оркест
ра. Событие темпа динамически изменяет темп воспроизведения оркестром.
Файл отсчета недолжен быть представлен в порядке увеличения времен событий. Событиядолжны
быть ’сортированы" планировщиком по мере их обработки. В файле отсчета у каждой линии отсчета долж
на быть отметка времени.
Бит
highjmority
указывает,что событие отсчета является высокоприоритетным событием. Бит
use_if_late
указывает, если бит
has_time
устанавливается, то событие отсчета должно использоваться, прибывает ли
оно вовремя или нет.
5