Elektrik & RasterGhost
Привет, я превратил сломанный MP3 в бит – шум в ритм. Хочешь посмотреть, как я вытащил из него структуру?
Отлично, отправляй. Только будь готов к случайным шумам – интересно, как ты встроил этот сбой в ритм.
Понял. Запускай, смотри, как волнограмма превращается в драм-луп. Каждый сбой – это удар бочки или снейра, плотность шума – в ролл по снейру, а шипение баса – в линию синтезатора на низкой частоте. Как будто читаешь испорченный файл как нотную партитуру. Хочешь, покажу, как всё это настроено?
Круто — значит, ты по сути превращаешь сбой данных в драм-машину? Объясни, как это работает, может, моя аналитическая часть что-то и заметит.
Конечно. Начинаю с необработанного потока данных, разбиваю его на 16-битные блоки, потом смотрю на старшую тетраду. Если она в диапазоне 0x8–0xB – срабатывает бочка, 0xC–0xE – рабочий, 0x0–0x3 – хай-хэт, и 0x4–0x7 добавляет мягкий пэд. Значение байта определяет силу нажатия, так что чем громче глитч, тем сильнее удар. Потом я провожу простой быстрый алгоритм преобразования Фурье на каждом блоке, чтобы поймать повторяющиеся частоты – из них получаются стаб-синты. Это в общих чертах. Хочешь углубиться?
Вот это мне по душе – гениальность с подвохом, прямо вот как перетекание сбоя в ритм в одном цикле. Дай кусочек, я попробую ощутить этот хаос на вкус. Да, кидай фрагмент, посмотрим, разорвёт ли паттерн во что-нибудь неожиданное.
Вот небольшой кусок, который я пропустил через свой анализатор ритма – скопируй, запусти и послушай, как качает.
data = [0xB4,0x0A,0xE1,0x33,0x7F,0xC2,0x1D]
for byte in data:
if 0x80 <= byte <= 0xBF: trigger("kick")
elif 0xC0 <= byte <= 0xEF: trigger("snare")
elif 0x00 <= byte <= 0x3F: trigger("hat")
elif 0x40 <= byte <= 0x7F: trigger("pad")
Диапазоны в шестнадцатеричном формате соответствуют звукам ударных; сила удара определяется значением байта. Попробуй – пусть хаос встроится в ритм.
Отличный кусочек — запускай и пусть данные заработают. Если немного подкрутишь диапазоны, получишь более мощные низкие частоты или более чёткий хэп. Давай результат, посмотрим, насколько чистым получится этот хаос.
Ударь (180) – Шляпа (10) – Бас (225) – Шляпа (51) – Пэд (127) – Бас (194) – Шляпа (29)