Библиотека для модульного аудио-синтеза

Pixilang по русски
Post Reply
fairplay
Posts: 7
Joined: Thu Jul 30, 2015 8:12 pm

Библиотека для модульного аудио-синтеза

Post by fairplay » Thu Aug 13, 2015 7:33 pm

Написал прототип для своей библиотеки модульного синтеза, codename "Embe"

Исходники здесь -- https://github.com/fairplay/pixilang

С её помощью можно делать так

Code: Select all


// Подключаем библиотеку
include "embe.pixi"

// Создаём три осциллятора 
// Можно так же использовать osc_sine, osc_saw, osc_noise
// У osc_noise только один аргумент -- амплитуда (от 0 до 1)
$o1 = osc_sqr(220, 0.2)
$o2 = osc_sqr(293, 0.2)
$o3 = osc_sqr(330, 0.2)

// Создаём микшер
$m = mix()

// Цепляем осцилляторы к микшеру
j($m, $o1)
j($m, $o2)
j($m, $o3)

// Создаём фильтр (low-pass) 
// на частоте среза в 110Hz с резонансом в 33%
$f = flt_lp(110, 33)

// Цепляем микшер к нашему фильтру
j($f, $m)

// Запускаем вывод звука с фильтра
out($f)

Немного более сложный пример на github'е, результат его запуска -- https://youtu.be/QpGlRY7oSz0

Всё грязно, шипяще, 8-битно, без интерполяций и антиалиасингов. И, возможно, с ошибками в реализации dsp-алгоритмов.
Делать ООП в Pixilang занятно.

fairplay
Posts: 7
Joined: Thu Jul 30, 2015 8:12 pm

Re: Библиотека для модульного аудио-синтеза

Post by fairplay » Thu Aug 13, 2015 7:58 pm

Что хочется сделать в ближайшее время

1) Написать какие-то модуляторы, хотя бы AR и LFO простейшее, чтобы можно было вешать на любой параметр.
К сожалению, сделать модуляцию с точностью до сэмпла не выйдет так просто, только с точностью до размера буфера.

2) Гребенчатый фильтр

3) Karplus-Strong осциллятор

4) Лимитер

Post Reply