Serum Введите некоторую математику, чтобы сделать звук

Версия от 17:21, 29 января 2017; Sergey Live (обсуждение | вклад) (Новая страница: «{{Рамка|Serum}} Синтаксический анализатор формулы (текстовое поле находящееся в редакторе…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Данная статья является частью цикла статей Serum

Синтаксический анализатор формулы (текстовое поле находящееся в редакторе формы сигнала) позволяет вводить математические функции для генеративного построения таблиц.

Это достаточно продвинутая функциональность, которую большинство людей, вероятно, не имеют никакого желания исследовать. Однако, если вы хотите генерировать волновые формы из воздуха, то, возможно, сейчас самое время!

К счастью, есть много пресетов формул, и довольно легко вставить формулы, предоставленных другими пользователями (мы уверены, что хороший список будет сделан на форуме пользователей Serum!)

Основные функции

Название

Аргументы

Объяснение

sin

1

функция синусоида

cos

1

функция косинуса

tan

1

функция тангенса

asin

1

функция арксинуса

acos

1

функция арккосинуса

atan

1

функция арктангенса

sinh

1

функция гиперболического синуса

cosh

1

функция гиперболического косинуса

tanh

1

функция гиперболического тангенса

asinh

1

функция гиперболического арксинуса

acosh

1

функция гиперболического арккосинуса

atanh

1

функция гиперболического арктангенса

log2

1

логарифм 2

log10

1

логарифм 10

log

1

логарифм 10

ln

1

логарифм, e (2.71828...)

exp

1

e, возведенное в степень х

sqrt

1

квадратный корень из значения

sign

1

функция знака: -1, если х < 0; 1 если х > 0

rint

1

округление до ближайшего целого числа

abs

1

абсолютная величина

min

переменно

минимум всех аргументов

max

переменно

максимум всех аргументов

sum

переменно

сумма всех аргументов

avg

переменно

среднее значение всех аргументов

Встраиваемое в бинарные операторы

В следующей таблице перечислены двоичные операторы, по умолчанию поддерживаемые анализатором.

Оператор

Значение

Приоритет

&&

логический и

1

||

логический или

2

<=

меньше или равно

4

>=

больше или равно

4

!=

не равно

4

==

ровно

4

>

больше

4

<

менее

4

+

сложение

5

-

вычитание

5

умножение

6

/

деление

6

^

возвести x в степень y

7

Константы и переменные

sel - относится к текущему ("старому") значению сигнала из выбранной таблицы (не изменяется в каждой таблице при использовании много-табличной формулы, другими словами, формула содержит y или z) как раз относится к выбранной таблице при начале обработки формулы.

rand - случайное число от -1,0 до 1,0 остается одинаковым для всех таблиц.

Название

Объяснение

pi

pi (3.141592658979323846264338)

e

e (2.718281828182818281828)

w

текущее значение-времени получаемое графиком, от 0,0 до 1,0
также как (х+1)/2

x

текущее значение-времени получаемое графиком, от -1,0 до 1,0

y

текущий номер таблицы, от 0,0 до 1,0 *Смотри ниже

z

текущий номер таблицы, от -1,0 до 1,0 *Смотри ниже
эквивалент: (у*2)-1

q

Когда 'q' предустановлено в формуле, происходят функции участков FFT, вместо черчения формы сигнала. q проходит от 1 до 512 для соответствующих гармоник.**

in

текущее ("старое") видимое значение сигнала черчения таблицы (изменения в каждой из старых таблиц, при использовании 'Y' или 'Z' на который строит все таблицы)

sel

подобно "in", но только выбранная в данный момент таблица (не изменяется в каждой таблице, использует выбранную таблицу при начале обработки формулы)

rand

случайное число от -1,0 до 1,0, остается одинаковым для всех таблиц (предвычислено для каждого временного положения).

* 'y' и 'z' относятся к текущему номеру таблицы. Таким образом, когда у или z находится в выражении, все таблицы для текущего генератора будет регенерированы!

** 'q', как уже упоминалось выше, делает функцию FFT вместо отображения сигнала. Там нет никаких оснований для включения 'х или у' в формуле, содержащей 'Q'

Меню пресетов формулы

Существует меню формул, которое поможет вам начать с примеров. Это хороший способ узнать возможности, а также сделать свои собственные пресеты. Как только вы выбираете формулу, она автоматически вводится в текстовое поле формулы и рассчитывается форма сигнала.

Подменю одно-цикловых формул ("Singles")

Формулы из подменю "Singles" не содержат переменные 'Y' или 'Z', поэтому при выборе одного из пресетов, будет заменена/сгенерирована только текущая выбранная таблица.

Подменю много-цикловых формул ("Multis")

Формулы, перечисленные в меню "Multis" содержат переменные 'Y' или 'Z', поэтому при выборе пресета будут заменены все таблицы.

Сохранение собственных формул

Есть два файла в SerumPresets/System/

FormulaUserMultis.txt и FormulaUserSingles.txt - эти файлы, если они не пусты, добавят дополнительные подменю "User Singles" и "User Multis" в список формул. Для обновления меню формул плагин Serum должен быть удалён и повторно загружен. Текстовые файлы имеют формат следующего образа:

  • [Formula1] [formula1 название]
  • [Formula2] [Formula2 название]

Обратитесь к файлам FormulaFactorySingles.txt или FormulaFactorySingles.txt для примеров.

В то время как вы можете также технически редактировать FormulaFactorySingles.txt и FormulaFactoryMultis.txt, вместо этого рекомендуется использовать пользовательские файлы. Что бы при установке обновлений вы случайно не перезаписали свои личные формулы.