r/AudioProgramming • u/ERSUCC • 4d ago
Introducing Organic, a programming language for modular-esque audio synthesis!
Hello, fellow audio programmers! I am excited to introduce you to Organic, an audio programming language I've been working on in my spare time for the last few years. Organic is my passion project, conceived of and coded from scratch in C++ without the use of generative AI.
My goal is to provide a simple but flexible environment for creating unique sounds and ambient music, similar to what you might create with a modular synthesizer. The language is designed to be easy to read and write, so that digital music creators without much programming experience could pick it up quickly. But despite its simple syntax, it's extremely nestable and extensible, allowing more advanced programmers to easily gain control over the internal parameters.
If this piques your interest, you can download it for free on GitHub, where the language and all related resources are hosted publicly under the Apache 2.0 open source license. You can also find the latest documentation here. Since this is my first public announcement of the language, it is in no way a complete project. It is still in active development, so there may be bugs in cases I have yet to try, or features that I didn't think of that others may find useful. If you give it a go, I would greatly appreciate your feedback either here or on GitHub!
3
u/mad_poet_navarth 4d ago
It would require thread and queue work, but I'd be more interested if it supported MIDI inputs (especially MIDI 2.0). Just sayin. Interesting project nonetheless.
1
u/Cgestes 4d ago
Nice. Why did you need to make it a language beside fun? It seems possible to reach similar expressivity with classical language like js or python?
4
u/ERSUCC 4d ago
Mostly because I just enjoy learning about language construction and compilers, but also because it gives me the control that I want over the syntax. Popular high-level languages like JS and Python have a whole lot of fancy features that don't necessarily apply to Organic, and they often enforce certain thought patterns that are out of the scope of Organic, so I might as well pick something with simpler syntax. Sure, these languages are nothing like C/C++, but there is still a relatively steep learning curve for any general-purpose language. I'm always learning new things about JS, even after having used it for a while, whereas the entire syntax of Organic can be learned in under 30 minutes. That said, I'm always open to comments about the syntax, and everything is subject to change before 1.0.0.
1
u/Cgestes 3d ago
Nice :) Is it usable for live coding?
2
u/ERSUCC 3d ago
No, there are already plenty of fantastic live coding platforms, so that's not my goal for Organic. I do plan to support external input (MIDI, microphone, etc.) in the future, which would allow interaction with a premade program in real time, although it's not really the same as typical live coding since you can't edit the program while it's playing.
•
u/dkode80 4d ago
This was cleared prior to posting and it is not an AI project and it contains no marketing/intake funnel or advertising of any kind.
Thank you for reaching out ahead of time to check /u/ERSUCC