ГОСТ Р 53556.5—2013
Если
size
будет -1, то размер таблицы должен быть длиной аудиосэмпла. Если
size
больше, чем
длина аудиосэмпла, то аудиосэмпл должен быть дополнен нулем в конце длины
size.
Если
size
меньше,
чем длина аудиосэмпла, то должны использоваться только первые выборки
size.
Поле
which
идентифицирует выборку,
which
это любой символ. Коша генератор обращается к выборке
в потоке битов это символ числа. Когда генератор обращается к выборке, сохраненной в
AudioBuffer
это
число.
В случае, где генератор обращается к выборке в потоке битов, для совместимых реализаций потока
битов, данные являются просто потоком необработанных значений с плавающей точкой. Новый блокдан
ных с именем должен быть помещен в звуковую таблицу. Если блокданных потока битое содержит частоту
дискретизации, цикл запуска и конец цикла, и/или значения основной частоты, то эти параметры звуковой
таблицы должны быть установлены. Если частота дискретизации не будет оценена, то она должна быть
установлена в частоту дискретизации оркестра по умолчанию. Любыо другие, не оцененные параметры
должны быть установлены кО.
В случае, когда генератор обращается к выборке, сохраненной в
AudioBuffer.
для сжатия выборки
может использоваться любой аудио кодер. В этом случае поля
children
узла
AudioSource.
ответственного за
инстанцирование этого оркестра, обращаются к узлам
AudioBuffer.
Каждый
AudioBuffer
после буфериза ции
содержит несколько каналов аудиоданных. Если у первого элемента есть каналы
п0,
вторые каналы л, и до
к-
1, то у узла
AudioSource
есть всего К = л0 + /?, +... ♦ лл., каналов и
which
должен быть значением между
0иК-1. Канал
which
(где
which
вслучае необходимости округляется в самое близкое целое число),
нумеруется в порядке элементов и их каналов которые, и будут помещены в звуковую таблицу. Частота
дискретизации звуковой таблицы должна быть установлена в частоту дискретизации узла
AudioBuffer.
из
которыго берется канал
which.
Цикл запускается, конец цикла и значения основной частоты должны быть
установлены в 0.
Если
skip
обеспечивается и является положительным значением, то он округляется к самому близко
му целому числу, и данные, помещенные в звуковую таблицу, начинаются с выборки
skip+’i
потока битов
или данными из
AudioBuffer.
10.3 Данные
t\ table (data, size
, р1. р2, p3..J
Код генератора звуковой таблицы
data
позволяет оркестру помещать значения данных непосред
ственно в звуковую таблицу.
Если
size
будет -1. то размер таблицы должен быть числом определенных значений данных. Если
size
будет дан и будет больше, чем число значений данных, то звуковая таблица в конце длины
size
должна быть дополнена нулем. Если
size
будет дан и будет меньше, чем число значений данных,
то должны использоваться только первые значения
size.
р1. р2. рЗ...
поля являются значениями с плавающей точкой, которые должны быть помещены в
звуковую таблицу.
10.4
Random
М
table (random, size. dist.
р1
[. p2})
Код генератора звуковой таблицы
random
заполняет звуковую таблицу псевдослучайными числами
согласно данному распределению. Для всех псевдослучайных алгоритмов генерации числа должны быть
повторно отобраны после запуска оркестра так. чтобы каждое исполнение оркестра, содержащего эти инст
рукции. генерировало различные числа.
Если поле
size
будет положительным значением, то онодолжно бытьдлиной таблицы, и много неза
висимых случайных чисел должны быть вычислены и помещены втаблицу.
Поле
dist
определяет, какое случайное распределение использовать, и соответственно изменяются
значения полей
р1
и
р2.
Если
dist
равно 1. то используется универсальное распределение. Псевдослучайные числа вычисля
ются так. что у всех значений с плавающей точкой между
р1
и
р2
включительно есть равная вероятность
того, чтобы быть выбранным для любой выборки.
Если
dist
равно 2. то используется линейно умещающееся распределение. Псевдослучайные числа
вычисляются так. что функции распределения вероятности
х
для любой выборкидают
р(х)
= 0
если х
£ р1
или х >р2.
и
abs (2/ (р2
-
р!)
х
[(х
-
р1)/(р2 - р Щ
в других случаях.
63