Я прочитал книгу DAFX Удо Цельцера об эффекте искажения на страницах 124-125, и там сказано, что подходящее моделирование искажения дается функцией:
Может кто-нибудь объяснить эту формулу и какой сигнал мы получаем?
Из того, что я понимаю, «x» - это дискретизированный сигнал, так что это последовательность чисел. Что делает | х | жадный? Относится ли это к абсолютному значению x для каждого значения выборки?
Так что, если я хочу реализовать эту симуляцию эффекта искажения,
- Мне нужно знать длину х (это определяется количеством образцов)
- В цикле мне нужно рассчитать эту формулу для каждого значения образца
- после окончания цикла я получаю искаженный сигнал (в цифровом виде)
После этого мне нужно преобразовать его в аналоговый сигнал, чтобы я мог его услышать.
audio
algorithms
c
digital
distortion
Elior
источник
источник
Ответы:
| Х | обозначает абсолютное значение - х / | х | бит формулы предназначен для того, чтобы убедиться, что знак ввода сохраняется в выводе. Что касается реализации, да, перечисленные вами шаги верны.
источник
Благодаря сюжету в ответе Олли Нимитало я убедился, что приведенная в книге формула имеет знак ошибки. Нелинейность, используемая для размытия или искажения, всегда представляет собой сглаженную функцию ограничения, которая сжимает входной сигнал. Таким образом, небольшие входные амплитуды испытывают небольшие изменения, тогда как высокие входные амплитуды (более или менее) мягко ограничены. И фигура, показанная в ответе Олли, делает с точностью до наоборот.
Поэтому я убежден, что правильная формула должна быть
источник
Вы можете записать тело функции прямо в Wolfram Alpha, и она построит его:
Для меня это похоже на волну , и их можно использовать, как вы описываете.
источник