TGViewer
kaleidoscope synth kaleidoscope synth @kaleidoscopesynth · 198 subscribers
Post #181 131
Рассказываю про перегрузы. Часть 1.

К прошлому посту я прикрепил фотографию великого русского математика Пафнутия Чебышева.

Среди его работ были так называемые полиномы Чебышева. Их ортогональность — то есть, грубо говоря, «перпендикулярность» в математическом смысле — нас сейчас не особо интересует.

Гораздо интереснее другое: полиномы Чебышева умеют умножать частоту.

Возьмём, например:

T₂(x) = 2x² − 1

Это обычная парабола, смещённая вниз по оси Y.

А теперь подставим вместо x косинус:

T₂(cos φ) = 2cos²φ − 1

Но из школьной тригонометрии мы знаем, что

2cos²φ − 1 = cos(2φ)

То есть на выходе мы получили косинус с вдвое большей частотой.

Как говорится, ещё один день, когда математика пригодилась в жизни.

С точки зрения звука происходит очень интересная вещь: мы подаём на вход этого полинома одну гармонику, а получаем гармонику на октаву выше.

И вообще:

Tₙ(cos φ) = cos(nφ)

То есть каждый полином Чебышева Tₙ превращает синусоиду в гармонику с частотой, умноженной на n.

Это очень важный факт. Запомним его.



А теперь про перегрузы

У любого перегруза есть передаточная характеристика.

Она показывает: если на вход подать значение X, на выходе получим Y.

То есть:

Y = f(X)

Например, одна функция может мягко округлять сигнал, другая — жёстко его обрезать. Формы могут быть совершенно разными.

Теперь представим, что мы подаём на такой перегруз чистый синус.

Что произойдёт?

На выходе уже не обязательно будет чистый синус. Нелинейность добавит к нему новые гармоники.

И вот здесь появляется очень удобный математический трюк.

Мы привыкли раскладывать периодический сигнал в ряд Фурье — на синусы и косинусы разных частот. Это позволяет буквально посмотреть, из каких гармоник состоит звук.

Но функцию самого перегруза тоже можно разложить. Например, в виде полиномов:

f(x) = a₀ + a₁x + a₂x² + a₃x³ + …

А затем вместо обычных степеней x², x³ и так далее перейти к полиномам Чебышева.

И вот тут начинается самое интересное.

Мы уже знаем, что:

T₁(cos φ) = cos φ
T₂(cos φ) = cos 2φ
T₃(cos φ) = cos 3φ
T₄(cos φ) = cos 4φ

и так далее.

Поэтому если представить характеристику перегруза как сумму полиномов Чебышева:

f(x) = a₀T₀(x) + a₁T₁(x) + a₂T₂(x) + a₃T₃(x) + …

то коэффициенты a₁, a₂, a₃... буквально говорят нам, сколько какой гармоники появится на выходе, если на вход подать синус.

То есть вместо того, чтобы прогонять синус через перегруз и потом делать FFT, мы можем посмотреть на его характеристику и сразу увидеть спектр, который он создаст.

Это очень удобно.

Более того, работает и обратная идея.

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

То есть, по сути, у нас появляется способ проектировать нелинейность от желаемого спектра.

И вот здесь, я думаю, становится понятно, почему это может быть интересно именно для синтеза.

Можно не спрашивать:

«Какую форму перегруза мне нарисовать, чтобы получить интересный звук?»

А спросить наоборот:

«Какие гармоники я хочу получить — и какая нелинейная характеристика мне для этого нужна?»

Думаю, для начала этой информации достаточно.

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

Если что-нибудь интересное получится — пишите в комментариях. Посмотрим вместе, что из этого можно сделать.
  • 🔥 6
  • ⚡ 1
  • 🤯 1
  • 👀 1
More from @kaleidoscopesynth
  1. Sep 18, 2026Я сделал чат-бота, который знает всё про Калейдоскоп! Не просто пересказывать куски мануал…
  2. Sep 12, 2026Через неделю, 19 сентября, пройдет выставка синтезаторов ДИСКРЕТ — и мы там будем. Можно б…
  3. Sep 10, 2026Быстрый опрос, чтобы оценить уровень аудитории? А как вообще измерить условной "линейкой"…
  4. Sep 8, 2026На видео — сравнение звучания двух разных функций перегруза на одном и том же пресете. Обы…
  5. Sep 7, 2026Ну что, как вам туториал ОсцилляторСинка? Я посмотрел ночью, остался сверх доволен. Правда…
  6. Sep 6, 2026https://youtu.be/7jmmxAUGIfQ?si=cMNtUa7WR8FeYRZA ОсцилляторСинк делал это видео все лето.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →