Я пишу программный синтезатор и вам необходимо генерировать полосы без полей, в виде свободных сигналов в реальном времени с частотой 44,1 кГц. Звуковая форма пилот-сигнала будет делать сейчас, так как я могу генерировать импульсную волну, смешивая два пилообразных пилы вместе, один перевернутый и сдвинутый по фазе.Генерация волны с обводненностью по диапазону
До сих пор я попытался следующие подходы:
Предвычисление один цикл отлично с ограниченной полосой выборок формы сигнала на разных частотах bandlimit при запуске, то воспроизведение двух самых близких из них смешаны вместе. Работы хорошо, я думаю, но не чувствую себя очень элегантно. Требуется много образцов, или будут слышны «промежутки» между ними. Интерполяция и микширование также достаточно интенсивны.
Интеграция поезда DC с компенсацией импульсов sinc для получения пилообразной волны. Звучит здорово, за исключением того, что волна дрейфует от нуля, если вы не получите компенсацию DC точно вправо (что я считаю очень сложным). Задачу DC можно уменьшить, добавив немного утечки в интегратор, но затем вы потеряете низкие частоты.
Итак, мой вопрос: что это такое, как это сделать? Любое предлагаемое решение должно быть эффективным с точки зрения процессора, поскольку оно должно выполняться в режиме реального времени для многих голосов одновременно.
Я понимаю, что это было спрошено около года назад, но для кого-то еще наткнувшись на это, я порекомендую найти дружелюбный и высококвалифицированный [DSP и Plug-in Development] (http://www.kvraudio.com/ forum/viewforum.php? f = 33) форум в [KVR] (http://www.kvraudio.com/) – 2009-10-03 07:15:43