Developers are often like composers: craftily writing up a elegant piece and making sure all the components work together. For those of you who are actually musicians, Alda wants to help you create music with code.
Alda is a programming language for musicians designed for those who don’t know how to program, or for programmers who don’t know how to compose.
“Alda’s ambition is to be a powerful and flexible music programming language that can be used to create music in a variety of genres by typing some code into a text editor and running a program that compiles the code and turns it into sound,” wrote Dave Yarwood, creator of the project, on his blog.
The syntax is designed to be as beginner-friendly as possible in order to enable musicians with little to no development experience to easily pick up the language. Features include markup-like syntax, an interactive REPL, underlying Clojure DSL, inline Clojure code, and the ability to create MIDI music using any instrument from the general MIDI sound set.
The most recent features of the language include key signatures, advanced rhythms, repeats, support for Clojure, and improvements to the Alda REPL. Yarwood plans to add a plug-in system for users to define custom.unofficial syntax, add the ability to export to MusicXML and import to MIDI files, and define and use waveform synthesis instruments.
“Inspired by other music/audio programming languages such as PPMCK, LilyPond and ChucK, Alda aims to be a powerful and flexible programming language for the musician who wants to easily compose and generate music on the fly, using naught but a text editor. Alda is designed in a way that equally favors aesthetics, flexibility and ease of use, with (eventual) support for the text-based creation of all manner of music: classical, popular, chiptune, electroacoustic, and more,” according to the project’s GitHub page.
Top 5 trending projects on GitHub this week
#1: FreeCodeCamp: This ever-trending project lives on!
#2. Gentelella: A free to use Bootstrap admin template
#3. Voltron: A debugger UI toolkit that aims to improve the experience of debuggers such as LLDB, GDB, VDB and WinDbg
#4. Netdata: Real-time performance monitoring
#5. Blur Admin: An Angular Bootstrap admin dashboard template