Иисус отверг Тему - Post a comment [entries|archive|friends|userinfo]
Шансонье Дима Даннер

[ website | Полин Квітне ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

term-rewriting noise Apr. 6th, 2009|03:10 pm

dmitry_danner
Если интересно, вот вариант концепции, которая максимально обобщает, как мне кажется, информационный подход к синтезу звука*.

Делим слышимый частотный диапазон на некоторое (достаточно большое) количество равных фиксированных диапазонов и для каждого диапазона заводим тонгенератор. В исходном состоянии генерируемый ими сигнал приближается к белому шуму (все частоты представлены с одинаковой средней амплитудой).
С другой стороны, сопоставляем частотному диапазону некоторый символьный вектор. Алфавит этих этого вектора (таблица побитовой кодировки) представляет цифровые уровни амплитуды (соответственно, 8битная амплитуда - 256 символов; 16 битная - 65535 символов итд). Количество символов представляет число переменных диапазонов, на которые мы делим частотный спектр. Переменный диапазон может включать один или несколько фиксированных; таким образом, одному символу в строке может соответствовать один или несколько тонгенераторов.
Строка символов изменяется в соответствии с некоторым алгоритмом. Обобщим этот алгоритм в виде недетерминированного term-rewriting**.
Исходному состоянию данных всегда сопоставляется белый шум, который и является исходной точкой любой композиции.***
На каждом шаге алгоритма мы высчитываем разницу между предыдущим и текущим состоянием данных (получаем ряд чисел со знаком, например, + - 127 для 8битной амплитуды).
Этот ряд разниц задает изменения амплитуды каждого переменного частотного диапазона.
В результате алгоритма может изменяться и число элементов вектора (соответственно, изменяется число переменных диапазонов и число тонгенераторов, соответствующих каждому переменному диапазону). Верхний предел числа элементов задается физическим количеством тонгенераторов (если у нас физический синтезатор) или частотным разрешением файла (если мы работаем прямо с файлом). Для файла частотой 44.1 кгц в векторе может быть не более 22050 символов, при этом, естественно, будут ограничены и возможности работы с амплитудой).
В результате всего этого, динамика шумовой композиции является отражением процесса выполнения алгоритма.

Полученный файл будет состоять из некоторого количества "кадров"-шагов алгоритма. Переход между кадрами можно осуществлять одномоментно ("щелчками") или морфингом ("плавно). Если переход будет делаться морфингом, нужно будет решить еще вопрос о длине периода морфинга и его соотношения с длиной кадра. Эти факторы будут влиять на восприятие музыки. Лично мне кажется, что морфинг не нужен - плавность или резкость переходов между кадрами будет также определяться свойствами самого алгоритма. Длительность звучания кадра также не должна быть жестко заданной - она может определяться, например, пропорционально количеству доступных путей ветвления на каждом шаге алоритма (применительно к недетерминированному term-rewriting это будет означать, что кадр будет тем короче, чем больше степень детерминированности алгоритма****).

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

**Term-rewriting, потому что динамика звука создается изменением вектора данных; недетерминированного потому, что этот принцип допускает и перевод в последовательную форму, и сохранение элемента случайности, расширяя пространство возможных решений.

***Использование белого шума вместо тишины и вычисление изменений вместо прямого кодирования частотного распределения должны сосредоточить творческие усилия на разработке собственно алгоритма, а не на поиске удачных исходных состояний; также внося и вклад в "хэкинг" авторства (см. ниже*****).

****Естественно, вместо существующего языка nondeterministic term-rewriting (Thue) можно создать более удобный декларативный язык, с использованием переменных, масок, макросов итд.

*****Эта проблематизация следует из того, что собственно произведением в данном случае является программа, а не результирующая аудиозапись. Поэтому, во-первых, возможно появление разных (как на уровне алгоритма, так и на уровне исходного текста) программ, порождающих схожие по звучанию аудиотреки; во-вторых, возможны затруднения в определении первичной функциональности программ, музыкальной или немузыкальной. Как следствие всего этого, создание программы, близко воспроизводящей ранее опубликованные треки, может выпадать из сферы действия авторского права.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: