Музыкальный D: синтезатор в 100 строк

Моя статья 2018 года, изначально написанная для блога LightHouse Software. Приведенный код актуален и сегодня, статья служит неплохим вводным руководством к dlib.audio.

Библиотека dlib предоставляет базовые инструменты для работы с аудиоданными, которые позволяют написать синтезатор с сохранением полученных звуков в WAV. В этой статье я покажу, как с их помощью сгенерировать знаменитую мелодию «Popcorn» Гершона Кингсли, используя для этого всего три функции, умещающиеся в 100 строк кода.

(далее…)

О звуковых движках

Что происходит со свободными звуковыми движками? Возвращаюсь к этой теме раз в несколько лет, и каждый раз ситуация все печальнее. Использовал когда-то Squall в эпоху Game Maker, он оказался заброшен с 2009 года. Потом долгое время сидел на OpenAL-soft, но у него тоже много лет не было обновлений (хотя в последние годы какое-то шевеление вроде началось). Ушел я с него по той причине, что захотелось движок с блэкджеком и шлюхами – то есть, со встроенной поддержкой всех аудиоформатов. Уже работая над Dagon, выбрал SoLoud, который активно разрабатывался до 2020 года, и с тех пор ни одного релиза.

Есть, конечно, движки для C++, в том числе довольно крутые – но, ребят, неужели делать API для C вышло из моды? В мое время это само собой разумелось. Не знаю теперь, что делать – не на закрытый FMOD же переходить. Возможно, форкну SoLoud, если так и не найду ему замены.