À propos du projet

thinksynth est un synthétiseur modulaire qui génère le son à travers un graphe de nœuds DSP, incluant des oscillateurs, des filtres, des enveloppes, des délais et des opérations arithmétiques. Ces graphes sont décrits dans un langage personnalisé et rendus en temps réel. Le système utilise une architecture basée sur des greffons où chaque nœud est un greffon, prenant en charge la synthèse soustractive et FM, les résonateurs et le façonnage d'onde. De nouveaux nœuds peuvent être ajoutés sous forme de bibliothèques partagées. Fonctionnalités clés : - Support audio et MIDI : Utilise RtAudio et RtMidi pour offrir une compatibilité multiplateforme avec ALSA, JACK, CoreAudio, WASAPI, CoreMIDI et WinMM. - Composition algorithmique : Inclut un moteur de composition utilisant des fichiers `.gen` pour décrire des morceaux musicaux sous forme de graphes. Il propose des greffons de composition tels que les rythmes euclidiens, les L-systèmes, les chaînes de Markov, les automates cellulaires et les algorithmes génétiques. - Workflow intégré : La frontière entre synthèse et composition est fluide ; les nœuds DSP peuvent agir comme des étapes de composition, et les compositeurs peuvent modifier dynamiquement les paramètres des instruments. - Interface visuelle : Construite avec GTK4, comportant un éditeur de nœuds et des visualiseurs. - Patchage flexible : Les patchs attribuent des graphes DSP à des canaux MIDI, permettant à un seul instrument de superposer plusieurs voix.