7 ms·
I love these text-based languages for music composition. Its something that is approaching a gap in music composition in real-life vs via computer. In real-life
by qrv3w 5y ago
I love these text-based languages for music composition. Its something that is approaching a gap in music composition in real-life vs via computer. In real-life you can tell your bandmates to "just play a I V IV in C" and they get it. But we are still not quite at a place where we can tell a computer that exact phrase and get something useful. I love how close these text-based languages are getting though!
I've actually made my own musical language too - called miti [1], which is just one of many others including textbeat [2], foxdot [3], sonic-pi [4], chuck [5], and melrose [6]. Each has their own goals and capabilities.
- [1] https://github.com/schollz/miti https://github.com/schollz/miti
- [2] https://github.com/flipcoder/textbeat https://github.com/flipcoder/textbeat
- [3] https://foxdot.org/ https://foxdot.org/
- [4] https://sonic-pi.net/ https://sonic-pi.net/
- [5] https://chuck.cs.princeton.edu/ https://chuck.cs.princeton.edu/
- [6] https://github.com/emicklei/melrose https://github.com/emicklei/melrose
- dexterhaslem 5y agowhat about trackers?
- kleer001 5y agoWhat are you asking? They're a different beast.
- bodge5000 5y agoTrackers are a very different beast, however for my sake I've found them a good intermediary whilst your looking for the live coding language that suits you. I use Renoise (not free, but very cheap imo and very powerful), and have a sample pack called AWKW (I think, its something like that) which is just a load of single cycle waveforms, and I use that to build rudimentary subtractive synths.
- yardshop 5y agoI think you must mean AKWF, Adventure Kid Wave Forms: https://www.adventurekid.se/akrt/waveforms/adventure-kid-waveforms/ https://www.adventurekid.se/akrt/waveforms/adventure-kid-wav... 4000+ single-cycle wave files of all sorts of sounds from various synths and instruments and such. Lots of great noises in there!
- bodge5000 5y agoBingo, that's it I've been thinking about going even simpler, and just building all my synths out of Sine, Triangle, Square and Sawtooth, but for now AKWF is working a treat
- smlacy 5y agoNo list of text-based music systems is complete without the granddaddy of them all: [LilyPond](http://lilypond.org/ http://lilypond.org/) Alda seems greatly inspired by the syntax of LilyPond, and in fact, I actually think the musical rendering is done via LilyPond. I'm surprised the docs don't seem to mention this heritage at all.
- jeofken 5y agoI struggle to get LilyPond running on MacOS - is it easier on Linux? It would be great for us but my mates all use Windows or MacOS, so we resort to graphical notation programs, where version control and portability is hard
- klyrs 5y agoIt's extremely easy to get it running on Linux. Many distributions have a lilypond package, which just works out of the box. The problem I've always had with the language is that it's quite arcane and if you want to do anything weird (like, a tie to nowhere) you're either at the mercy of somebody else having solved the problem first, or failing that, a huge learning curve. It's a lot like latex in that way. That said, if you just need to do simple stuff, the language almost magically gets out of your way.
- Hackbraten 5y agoHave you checked out the unofficial Homebrew tap `nwhetsell/lilypond` [1]? It has a `lilypond` formula that has worked fine for me. Beware though that it installs some kind of TeX repository sized 7 GB. [1]: https://github.com/nwhetsell/homebrew-lilypond https://github.com/nwhetsell/homebrew-lilypond
- colomon 5y agoI've never noticed any difficulty getting LilyPond running on MacOS or Linux? I use it regularly on MacOS, and keep it installed on Linux for special occasions.
- jeofken 5y ago
- diskzero 5y agoMy current favorite is OpusModus https://www.opusmodus.com https://www.opusmodus.com. It is a commercial app, which will dissapoint some, but is worth the price to me for the level of quality and capabilities. As an added bonus, it is written in Lisp, can be extended using Lisp and uses a S-expression DSL for composition. The development environment has a REPL and a variety of interfaces for composing and exploring music.
- bradrn 5y agoFor a musical Lisp, personally I prefer extempore: https://github.com/digego/extempore https://github.com/digego/extempore
- diskzero 5y agoExtempore is impressive for sure. They wrote a custom scheme interpreter and a REPL for VSCode. More info here: https://extemporelang.github.io/docs/overview/quickstart/ https://extemporelang.github.io/docs/overview/quickstart/
- vosper 5y ago> My current favorite is OpusModus https://www.opusmodus.com https://www.opusmodus.com. It is a commercial app, which will dissapoint some, but is worth the price to me for the level of quality and capabilities. Personally I love seeing this kind of niche (I assume?) commercial software. It's great that people can make a living working on this kind of thing.
- diskzero 5y agoI hope they are managing to make a living. I have created music software over the decades, going from making a good living during the shrinkwrap software era, to not being able to support full-time development of a mobile music app. I am impressed that Finale, Sibelius and Dorico can find enough market share to fund development and be competitive.
- bodge5000 5y ago
- kzrdude 5y agoWhat do you think of hookpad? It's something along those lines, too, right? Even though it's not text based, but it's easy to get a chord progression playing, which I really like.
- bodge5000 5y agoFantastic work on miti! Looks like it could be a game changer for modular systems especially, but in general just having a single "brain" control all your synths in a way thats as readable as this would be great. Out of interest, are you aware of any language, framework or environment that includes sound synthesis as well, essentially making it an all-in-one? I do wonder if I'm asking too much, since Supercollider already exists but I'm not much a fan of using it because of how verbose it is and I'm a little bit upset it uses its own language (so I couldn't import more generic modules), but its worth asking anyway. My current plan is to use a non-livecoding module for an existing language, since the ability to change on the fly isn't important to me
- qrv3w 5y agoThanks! I think SuperCollider is the best out there. It's syntax is weird yeah but you can use OSC to talk to anything else (this could easily be added to miti as well). Really I don't think a really good all-in-one exists there are lots of things that do all, but none do all as well as something that just does one thing.
- bodge5000 5y agoOh sorry, I didn't mean all-in-one as in it can do everything, just that it can handle synthesis and composition. I guess "batteries included" might be a better term, what I really meant was something that needs no external sources for either sound or sequencing, you can make a track from start to end without needing to use something else. Of course, supercollider does indeed fit this role, but as I've said I do have problems with it. Currently I'm looking at using a generic language, with some synthesis and composition modules. Suprisingly, game frameworks (e.g. Love2D) are looking promising for this, so that could be good, if a little bit overkill.
- th0ma5 5y agoAlso MMA https://www.mellowood.ca/mma/ https://www.mellowood.ca/mma/
- throwaway675309 5y agoIn real-life you can tell your bandmates to "just play a I V IV in C" and they get it. But we are still not quite at a place where we can tell a computer that exact phrase and get something useful.... You can definitely do this exact thing in Band in a Box, simple as typing in the chord progression as a lead sheet.
- abc789654567 5y ago> "just play a I V IV in C" and they get it. But we are still not quite at a place where we can tell a computer that exact phrase and get something useful. We are at this place since at least 3 decades ago. How come you never heard about Band in a box? [0] > I love how close these text-based languages are getting though! Comparing to what BIAB can do now after 3 decades of development all these text-based languages are sooooo amateurish and ridiculous. They are not even reinventing the wheel. I'd say they're reinventing the circle. - [0] https://en.wikipedia.org/wiki/Band-in-a-Box https://en.wikipedia.org/wiki/Band-in-a-Box
- flipcoder 5y agoThanks for linking to textbeat! :)