ГОСТ Р 53556.5—2013
9.12 Демонстрационное преобразование
9.12.1
decimate
specialopdecimate (asiginput)
Код операции
decimate
уменьшает сигнал в десять раз от уровня звука до контрольного уровня.
9.12.2
upsamp
asig upsamp (ksig input[ table winJ)
Код операции
upsamp
дискретизирует управляющий сигнал к аудиосигналу. Параметр
win
является
дополнительным окном интерполяции. Если
win
не оценен, берется окно импульсов длины
SR/KR,
где
SR
является частотой дискретизации оркестра и
KR
является уровнем управления оркестра. Если
win
оценен и
короче выборки
SR/KR,
то
SR/KR
в концедополняется нулем (сама таблица не изменяется).
При первом обращении к
upsamp,
создается выходной буфер
win
и обнуляется. Кроме того, выход
ное значение устанавливается в 0.
При первом обращении к
upsamp
в
к
цикле выходной буфер смещается на
SR/KR.
Первая выборка
SR/KR
отбрасывается, остающиеся выборки смещаются к передней части выходного буфера, и после
дняя выборка
SR/KR
устанавливаются в0. Затем оконная функция масштабируется
input
и добавляется
в выходной буфер (
buf[i) =buffi]
♦
input
*
win[i],
0 </ <
length (win)).
Затем выходная точка устанавли
вается в 0.
При первом и каждом последующем обращении к
upsamp.
исходное значение является значением
выходного буфера в текущей точке. Затем выходная точка должна быть постепенно увеличена.
9.12.3
downsamp
specialop downsamp (asig input[. table win))
Код операции
downsamp
дискретизирует звуковой сигнал кконтрольному сигналу. Параметр
win
явля
ется дополнительным аналитическим окном.
Если
win
короче выборки
SR/KR.
где
SR
является частотой дискретизации оркестра, и
KR
является
уровнем управления оркестра, то это ошибка вычисления.
Исходное значение вычисляется следующим образом. В каждом
к
цикле значение каждой выборки
input,
определенное в предыдущем цикле, помещают в буфер. Если
win
не оценен, то исходное значение
является средним значением выборок в буфере. Если
win
оценено, то исходное значение вычисляется,
умножая каждую точку аналитического окна на входной сигнал
(rtn
= I
input
[/] *
win
(/] для 0
<i<SR/KR,
где
SR
является частотой дискретизации оркестра и
KR
является уровнем управления оркестра).
9.12.4
samphold
samphoid opcode (xsig ввод, ksig gate)
Код операции
samphold
пропускает сигнал с контрольным сигналом.
Исходное значение вычисляется следующим образом. При первом обращении к
sampliold
после
днее переданное значение устанавливается в 0. Если значение
gate
не является нулевым, то последнее
переданное значение устанавливается
input.
9.12.5
sblock
specialop sblock (asig x. table t)
Код операции
sblock
создает контрольные уровни блоков выборок и размещает их в звуковую
таблицу.
Исходное значение этого кода операции всегда 0.
9.13 Задержки
9.13.1
delay
aopcode delay (asigх, rvart)
Код операции
delay
реализует фиксированную длину задержки от начала до конца. Параметр /дает
задержку в секундах.
Пусть у будет меньшим из выбороки
(t’SR).
где
SR
является частотой дискретизации оркестра. При
каждом обращениик к коду операции
delay,
значение х вставляется в буфер
FIFO
длиной у. Исходное
значение является значеним. которое было вставлено в строку задержки у в предыдущих обращениях.
9Л2.2 delay}
aopcode delayl (asigх)
Код операции
delay
1 реализует первую задержку.
При каждом обращении к
delay}
сохраняется значение
х
и исходное значение является значением,
сохраненным при предыдущем обращении.
60