К содержанию
fohbook/ TouchDesigner
уверенный

Спектр и полосы

Audio Spectrum CHOP: как получить частотный разбор, привести его к логарифмической шкале и раздать по объектам.

Audio Spectrum CHOP считает частотный спектр входного сигнала. Это тот самый «эквалайзер», из которого делают столбики, кольца и всё, что реагирует на музыку по частотам.

Что он выдаёт

На выходе — канал, в котором сэмплы соответствуют частотным полосам, а не времени. Число полос задаётся параметром; типично 256, 512, 1024.

Важно: шкала полос линейная по частоте. Музыка воспринимается логарифмически, поэтому «как в эквалайзере» получится не сразу: половина полос уйдёт на высокие частоты, где почти ничего нет.

Привести к музыкальной шкале

Приёмы, в порядке простоты:

  1. Взять только нижнюю часть. Trim CHOP по первым 10–20 % полос — там вся музыкально значимая энергия. Быстро и часто достаточно.
  2. Resample с логарифмическим распределением. Построить кривую соответствия и пересэмплировать через Lookup CHOP.
  3. Отдельные полосовые фильтры. Audio Filter CHOP несколько раз с разными полосами — точнее и дороже.
  4. Готовый компонент audioAnalysisАнализ звука, который уже сделал это правильно.

Спектр как данные

Спектр — это массив, и его удобно раздать массово:

  • столбики: спектр → инстансинг, сэмпл = высота столбика;
  • кольцо: тот же массив, позиции по окружности;
  • текстура: CHOP to TOP, спектр становится строкой пикселей; со сдвигом по кадрам получается спектрограмма-водопад;
  • свет: сэмплы спектра → уровни приборов — Разбор музыки в свет.

Сглаживание по частоте и по времени

Спектр дёргается в двух измерениях:

  • по времениLag/Filter как обычно;
  • по частоте — соседние полосы прыгают независимо, картинка получается «колючей». Лечится Filter CHOP в режиме сглаживания по сэмплам или небольшим размытием, если спектр уже стал текстурой.
Логарифм по амплитуде тоже нужен

Громкость воспринимается логарифмически. Возьмите Math CHOP с функцией log или работайте в децибелах — иначе тихие части будут выглядеть как полное отсутствие звука, а громкие упрутся в потолок.

Спектр стоит денег

FFT с 1024 полосами на 48 кГц считается каждый кадр. Если вам нужны три полосы — не берите спектр, возьмите три Audio Filter CHOP. Разница в нагрузке заметная.

рядом по смыслу