9 ms·
A music programming language for musicians
- dyeje 10y agoIf this interests you, definitely checkout Sonic Pi. It's a Ruby DSL for music programming. http://sonic-pi.net/ http://sonic-pi.net/
- spdegabrielle 10y agoSonic pi is amazing Sébastien Rannou has published a tutorial on how he live coded his fabulous cover of Aerodynaic by Daft Punk. https://aimxhaisse.com/aerodynamic-en.html https://aimxhaisse.com/aerodynamic-en.html
- 6stringmerc 10y agoNice to see something like this - reminds me of my initial love of programming in QBasic. My oh my the noise that was going on in the classroom that day. Quite an impressive looking way to simplify and open up two worlds. Hope to give it a try eventually.
- 0xdeadbeefbabe 10y agoFreebsd adopted the same API https://www.freebsd.org/cgi/man.cgi?query=speaker&sektion=4 https://www.freebsd.org/cgi/man.cgi?query=speaker&sektion=4
- deleted 10y ago[deleted]
- earlz 10y agoSadly I don't see MIDI exporting support. I looked at making one of these music generation programming languages before, but just ran out of time for it. My goal was quite ambitious though: 1. Support MIDI exporting (so you could get it into a DAW) 2. Support timing nudges and randomization (ie, with drums it's common to play slightly ahead or behind the beat, and somewhat random timing for humanness factor) 3. Be easier to write than it is to manually do on a piano roll So far though, this is a pretty hard set of things to do all at once. I have a design while using Ruby as a DSL, but it's just difficult to make it all come together edit: To elaborate a bit more on timing nudges, I mean play on beat for measures 1-4, then on measures 5 and 6 play slightly ahead of beat (but using the same actual playing pattern etc).. Most of my ideas were focused on drums rather than general instruments because drums are the only thing I've had to use MIDI for so far
- gnocchi 10y agoIt looks like they are planning on adding a MusicXML export from this issue https://github.com/alda-lang/alda/issues/44 https://github.com/alda-lang/alda/issues/44. Is there any tool which convert from MusicXML to MIDI?
- grimmdude 10y agoSpeaking of MIDI export, I recently wrote a MIDI generator in JS which works pretty nice https://github.com/grimmdude/MidiWriterJS https://github.com/grimmdude/MidiWriterJS Shameless plug of the day, check!
- earlz 10y agoI actually saw that when I was first researching making this project, but I like Ruby a lot more than Javascript so I went with Ruby
- ungzd 10y agoYou can try Overtone and Leipzig (https://github.com/ctford/leipzig https://github.com/ctford/leipzig). I don't know if it supports writing .midi files, but it can output MIDI events in real-time (https://github.com/overtone/overtone/wiki/MIDI https://github.com/overtone/overtone/wiki/MIDI), maybe it's possible to stream MIDI to DAW.
- pierrec 10y agoMIDI I/O is always a nice feature, and having programmed around MIDI quite a bit, I think you make it sound more difficult than it is. It's difficult if you need to write all the MIDI from scratch, but it's easy if you have access to a helper library that does all the low-level for you, which I believe is available for Clojure. It also lends itself well to progressive implementation, for example starting with simple exporting of notes and progressively adding more complete exporting features. (I know, you're gonna tell me "add it yourself"! Which is a good point, but wait, let me find an excuse... Clojure isn't exactly my cup of tea, and my current audio programming interests aren't really in line with the direction this project is taking.)
- 10y ago
- iris-digital 10y agoInteresting, what is it implemented in? Seems to be Java related somehow. And there's a client and server?
- gnocchi 10y agoIf you click on the red bar under the repository description you can see what is the main programming language for the repository which is clojure.
- TylerE 10y agoLooks like a dumbed down version of lilypond syntax?
- shams93 10y agoYeah with lilypond you have support for world music notation most of these music frameworks assume you're only working with standard western music styles, lilypond is really powerful.
- vixen99 10y agoI've found Frescobaldi to be a terrific interface for Lilypond with some useful shortcuts if you're not an experienced user. Lilypond is indeed a marvellous piece of software.
- mutagen 10y agoAlda has been discussed previously on HN, including comparisons to other musical languages and some of the advantages / disadvantages of each: https://news.ycombinator.com/item?id=10177716 https://news.ycombinator.com/item?id=10177716 https://news.ycombinator.com/item?id=10662598 https://news.ycombinator.com/item?id=10662598
- kaonashi 10y agoI'd much rather see a music notation where harmony is first-class, rather than an emergent phenomenon. More lead sheet, less orchestral score.
- fdej 10y agoIt would be useful if it had a tool to convert MIDI files to source code (ideally with some sane automatic structuring). I've sequenced some 15 megabytes of MIDI files, and would love to have them in a form suited for version control.
- fit2rule 10y agoMidiXML? http://www.music-notation.info/en/formats/MidiXML.html http://www.music-notation.info/en/formats/MidiXML.html
- yarou 10y agoThis is really neat. Has anyone tried using machine learning to compose music with this?
- dasboth 10y agoThat was my first thought when I saw this too! Definitely another addition to my side project idea backlog. Related: have you seen this? https://maraoz.com/2016/02/02/abc-rnn/ https://maraoz.com/2016/02/02/abc-rnn/
- bane 10y agoI'm really surprised at how many programming languages for music there are. What I think is interesting is how few of them seem to be aware of tracking style interfaces and how those might be better extended to do many of the kinds of things these languages offer. I remember showing some programming friends some examples of what trackers look like and the response is usually something like "you have to program the music?" or "oh! it's like asm for music!"[1] It's a much nicer way of laying down notes quickly and has some pretty mature ideas behind it as a music composition paradigm and offer a huge variety of possibilities for music composition.[2][3] Writing with trackers is also fast. When you get really good with these tools it's possible to sketch out a 2-3 minute song in 30-60 minutes - softsynths and all. 1 - https://www.youtube.com/watch?v=u3xHPIuX3s4 https://www.youtube.com/watch?v=u3xHPIuX3s4 2 - https://www.youtube.com/watch?v=45BH12-O_94 https://www.youtube.com/watch?v=45BH12-O_94 3 - https://www.youtube.com/watch?v=iUx8PrDqUiY https://www.youtube.com/watch?v=iUx8PrDqUiY