ГОСТ Р 53556.5—2013
1
Также на первом обращении
pluck
внутренняя фаза должна быть установлена в 0. и
smooth count
должен быть установлен в 0.
При последующих обращениях к
pluck
относительно состояния
smooth count
постепенно увеличива
ется. Если
smooth count
равно
smoothrato.
то
smoothrate
устанавливается в 0. и буфер должен быть сгла
жен следующим образом. Создается новый буфер длины
buflen.
и ее значения устанавливаются,
равными среднему по текущему буферу. Каждое значение в новом буфере должно быть установлено в
значение минимальное среднее значение пяти выборок текущего буфера. Таким образом, для каждой
выборки х нового буфера его значение должно быть установлено в
atten
*
(b[х-2] * Ь
/х-
] +Ь[х] +
+
Ь
/Х-И7 + Ь
[х+2])/5,
где Ь[.]относится к значениям текущего буфера и индексы вычисляются по модулю
buflen.
Затем значения текущего буферадолжны быть установлены в значения нового буфера.
Внутренняя фаза должна быть постепенно увеличена на
cps/SR.
где
SR
является частотой дискрети зации
оркестра, и если получающееся значение не находится в интервале [0.1], то внутренняя фаза долж
на быть установлена в дробную часть внутренней фазы (р =р - пол (р)).
Исходное значениедолжно быть значением буфера в точке р *
buflen.
гдер — внутренняя фаза. Если
этот индекс не будет целым числом, то значение должно быть интерполировано из соседних значений
буфера.
9.7.8 buzz
aopcode buzz (asig cps. ksig nharm. ksig lowharm. ksig rolloff)
Код операции
buzz
производит ограничение полосы последовательности импульсов, сформирован
ную добавлением в подтекст косинуса основной частоты
cps.
Гц.
lowharm
дает самую низкую используемую гармонику, где 0 — низ для
cps
частоты. Если
lowharm
отрицателен, то это ошибка вычисления.
nharm
дает число гармоник, используемых с
lowharm.
Если
nharm
не строго положителен, то каждый
обертон для частоты Найквиста оркестра используется (
nharm
будет установлен в
SR
/2
/cps-lowharm).
rolloff
дает мультипликативный
rolloff,
который определяет спектральную форму. Если
rolloff
отрицате
лен. то
partials
чередуются синфазно. Если
\rolloff\>
1. то
partials
увеличиваются в амплитуде вместо ослаб
ления.
Исходное значение вычисляется следующим образом. При первом обращении
buzz
относительно
определенного контекста, внутренняя фаза должна быть установлена в 0. На последующих обращениях
внутренняя фаза должна быть постепенно увеличена
cps/SR.
где
SR
частота дискретизации оркестра. Если
после этого приращения внутренняя фаза будет больше чем 1. то внутренняя фазадолжна быть установле на
в дробную часть ее значения (р: =
frac (р)).
Исходное значение должно быть
towfiamt
ь ппа/т
scale
*I
r o l l o f f ’
cos
2n(f
+ 1)р.
/-tow hj/m
гдер является внутренней фазой.
Если |
rolloff=
1 |.
scale =
(1 /
(nharm*
1)). то
scale
= (1-abs
(rolloff)) I
(1
-abs (rolloff[пШт
* 1>)).
9.7.9
grain
aopcode grain (table wave, table evn. ksig density, ksig freq. ksig amp. ksig dur, ksig time, ksig phase)
Код операции
grain
используется для синтеза мелких частиц
[GRAN],
чтобы синтезировать периоди
ческие. квазипериодические. шумные и текстурированные звуки. Звук при этом синтезе представляется
как сумма многих коротких звуковых выборок или "мелких частиц’ , распределенных в частотно-временном
пространстве.
wav© являетсяформой волны для мелкой частицы, елvявляется конвертомдля мелкой частице,
density
является интервалом времени триггерных зон в Гц.
freq
является частотой, в Гц. в которую можно помес
тить каждую новую мелкую частицу,
атр
является амплитудой каждой новой мелкой частицы, как масш
табный коэффициент. Ригявляется продолжительностью каждой мелкой частицы всекундах,
time
является
смещением в секундах от триггера, в котором запускаются мелкие частицы (дрожат),
phase
является за
пускающейся фазой каждой мелкой частицы в диапазоне [0,1].
Если какое-либо из следующих условий выполняется:
densityне
положительна,
dur
отрицателен,
time
отрицательно или
phaso
не находится вдиапазоне [0.1]. то это ошибка вычисления.
При первом обращении к
grain
кода операции
number ofgrains
определяется в 0 и
density clock
и
triggerclock
устанавливаются в 0.
49