Об этом проекте

thinksynth представляет собой модульный синтезатор, который генерирует звук через граф DSP-узлов, включая осцилляторы, фильтры, огибающие, задержки и арифметические операции. Эти графы описываются на специальном языке и рендерятся в реальном времени. Система использует плагинную архитектуру, где каждый узел является плагином, поддерживая субтрактивный и FM-синтез, резонаторы и вейвшейпинг. Новые узлы могут быть добавлены в виде разделяемых библиотек. Ключевые особенности включают: - Поддержка Audio и MIDI: использование RtAudio и RtMidi для обеспечения кроссплатформенной совместимости с ALSA, JACK, CoreAudio, WASAPI, CoreMIDI и WinMM. - Алгоритмическая композиция: включает движок композиции, использующий файлы `.gen` для описания музыкальных произведений в виде графов. Он содержит плагины композитора, такие как евклидовы ритмы, L-системы, цепи Маркова, клеточные автоматы и генетические алгоритмы. - Интегрированный рабочий процесс: грань между синтезом и композицией размыта; DSP-узлы могут выступать в качестве этапов композиции, а композиторы могут динамически изменять параметры инструментов. - Визуальный интерфейс: построен на базе GTK4, включает редактор узлов и визуализаторы. - Гибкий патчинг: патчи назначают DSP-графы на MIDI-каналы, позволяя одному инструменту накладывать несколько голосов.