Имеется в распоряжение формат сигнала 44100 16бит стерео и формулы генерации синусоиды и прямоугольников.
Омега w = 2 * PI * Frequency
t = Iteration / 44100 + tPrevious
SinusSample = sin(w * t)
Как сделать генерацию треугольной формы сигнала и sawtooth?
Krasnoarmeec, ну вот и получается формула генерации f(x) = 2 * a * ((x + t) % t) / t - a
А вот для программного применения по относительности смещения данных заполняемого буфера перед отправкой на звуковое устройство x надо приводить по формуле количества итерационных шагов деленых на 100 (сто).
Не совсем понял откуда Вы взяли 100, а потому ввёл в таблицу параметры звукового сигнала, такие как частота и дискретизация. И проверил результаты с помощью преобразования Фурье. Вроде всё сходится. https://disk.yandex.ru/i/qMp_rDIoOHRDIw
Krasnoarmeec, нашёл своё просчёт. Формула работает. А какие ещё есть формулы генерации кроме синуса, прямоугольника, треугольника, пилообразного и шума? Есть что-то интересное по звучанию?
Например, дано три сигнала, а суммарный можно получить делением соединения на три, т.е. количество даденых в данном случае. А возможно и с иными данными на входе по их количеству также делением. А операция умножения на единицу - это избыточная операция, приводящая ко замедлению. А деление, умножение, вычитание и сложение на не существующую форму равнения приводит ко замедлению технического процесса выполнения только для получения шума производимого, происходящего, производной операции.