Аудио програмиране за начинаещи – втора сбирка
Въведение в реалновремеви „алгоритмичен“ синтез на звук. Езика който ще ползваме е JavaScript, в браузър.
Целим резултат:
– програма „пиано“ която се свири с буквените клавиши на компютърна клавиатура
– синтеза ще е „алгоритмичен“ – т.е. без зависене от външнопредоставени аудио файлове. Така е по-интересно 😉
– няколко тембъра (звучения) на звука
– минимални envelopes (под формата на отзвучавания на нотите, с различна дължина)
– няколко ефекта/филтъра: притъпяване на звука (т.нар. lowpass filter), други подобни филтри (highpass filter…), ехо
– простичък UI за настройка на всичко това
– плюс прост бийт, демек барабани
– Може и още фийчъри, по ваша заявка
Проекта ще го направим на максимално „ниско ниво“, т.е. нарочно няма да ползваме улесняващи фийчъри на WebAudio API-то (вградени осцилатори/филтри/ефекти, вграден audio graph, вграден mixing…) а просто с огромна скорост ще пишем пресметнати числа в един масив, предоставен ни от JavaScript. По този начин ще видим *как* стават нещата зад завесите 🙂
Такса:
– 5лв/урок/човек за членове на Лаба
– 10лв/урок/човек за всички други.
Представям си 1-3 срещи общо.
Демо на това какво ще изградим в курса:
https://logixoul.github.io/initLabAudioDemo/
(управлява се с хардуерна клавиатура – не съм го адаптирал за телефонски тъчскрийн)
Не е необходим предишен опит с аудио, HTML или JavaScript. Ще е добре да имате някакъв опит с произволен „C-подобен“ език за програмиране (например C, C++, C#, Java, JavaScript, TypeScript), но и това не е абсолютно изискване – стига да умеете да програмирате на някакъв език.
Посоченият краен час е ориентировъчен 🙂
– Стефан Монов