[HN Gopher] Alda - Text-Based Programming Language for Music Com...
___________________________________________________________________
Alda - Text-Based Programming Language for Music Composition
Author : p1esk
Score : 338 points
Date : 2021-08-16 14:38 UTC (8 hours ago)
(HTM) web link (alda.io)
(TXT) w3m dump (alda.io)
| PaulDavisThe1st wrote:
| Without commenting on Alda specifically, people should understand
| that it's just one member of this list of highly overlapping (but
| also interestingly distinct) tools:
|
| https://github.com/toplap/awesome-livecoding
|
| "All things live coding : A curated list of live coding languages
| and tools"
| sadsatan wrote:
| absoLUTELy
| sadsatan wrote:
| absoLUtEly this immediately screams HEY FUCK WITH ME PLEASE FOR
| HOURS ON END SO YOU DONT GET ANYTHING DONE
| qrv3w wrote:
| 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
|
| - [2] https://github.com/flipcoder/textbeat
|
| - [3] https://foxdot.org/
|
| - [4] https://sonic-pi.net/
|
| - [5] https://chuck.cs.princeton.edu/
|
| - [6] https://github.com/emicklei/melrose
| bodge5000 wrote:
| Fantastic 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
| dexterhaslem wrote:
| what about trackers?
| kleer001 wrote:
| What are you asking? They're a different beast.
| bodge5000 wrote:
| Trackers 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.
| kzrdude wrote:
| What 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.
| smlacy wrote:
| No list of text-based music systems is complete without the
| granddaddy of them all: [LilyPond](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.
| int_19h wrote:
| I would argue that the granddaddy of them all is the PLAY
| statement in BASIC:
|
| https://hwiegman.home.xs4all.nl/gw-man/PLAY.html
| soylentcola wrote:
| I had a lot of fun with this on my Commodore. The version
| of BASIC on the C=128 was surprisingly versatile. I was
| just a kid in elementary school, but messing with ENVELOPE
| and PLAY taught me the basics of
| attack/decay/sustain/release and other synth concepts. Very
| cool stuff to discover in the giant manual that came with
| the thing!
| sbuttgereit wrote:
| I dunno... what about csound?
|
| https://csound.com/
| jim-jim-jim wrote:
| Which itself is a child of an even grander daddy:
| https://en.wikipedia.org/wiki/MUSIC-N
|
| You can hear some recordings presumably made with these
| programs on this release: https://www.discogs.com/Various-
| Music-From-Mathematics/relea...
|
| Some of it is gimmicky, some still kinda rocks.
| jeofken wrote:
| I 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 wrote:
| It'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 wrote:
| Have 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
| YossarianFrPrez wrote:
| Indeed. And if you use Lilypond, check out Frescobaldi -- it
| makes typesetting and editing scores much easier, via things
| like syntax-staff co-highlighting.
|
| https://www.frescobaldi.org/
| th0ma5 wrote:
| Also MMA https://www.mellowood.ca/mma/
| diskzero wrote:
| My current favorite is OpusModus 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.
| vosper wrote:
| > My current favorite is OpusModus 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 wrote:
| I 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 wrote:
| Hate to sound like a broken record here, but can opus modus
| handle its own sound synthesis or is it purely compositional?
|
| Not that theres anything wrong with that, but if $400 is the
| price for ending my suffering, I'll pay out in a heartbeat ;)
| diskzero wrote:
| I focus on the compositional aspects of the program, but I
| do like to be able to audition what I am making! I can use
| software and hardware synthesizers to do this, but it
| sounds like you want something with more fundamental
| building blocks. OpusModus is able to integrate with Common
| Lisp Music (CLM)
| https://ccrma.stanford.edu/software/snd/snd/clm.html. Info
| on integration with OpusModus here:
| https://opusmodus.com/forums/tutorials/clm-examples/clm-
| inst... CLM will give you osciallators, generators, filters
| and more. I am not a CML expert, but it seems to address
| some of what you are looking for.
| kennywinker wrote:
| This looks useful and fun, but without programmatic ways of
| specifying notes (i.e. '$v1 = $v2 + 12') it's not much of a
| "programming language" and mostly just a "text based notation
| system".
| SamBam wrote:
| This is what I've wondered about -- with this and with the
| other few "music programming languages" on HN in the past year.
|
| They almost always seem to be simply "music _notation_ ", not
| music programming. At the end of the day, it's not that
| different from sheet music, just written slightly differently.
|
| If I wanted to actually _program_ music based on this, could I?
| Could I write a loop that plays random notes on the pentatonic
| scale? Or that systematically plays through every scale,
| without writing out all the notes by hand?
| kennywinker wrote:
| It sounds like there's a layer built on top of this to write
| clojure that interacts with alda, and you definitely could
| with that. There are also a bunch of other options. Orca (a
| visual sound programming language) and sonic pi would be
| where i would start for two very different approaches to the
| concept.
| wizzwizz4 wrote:
| It does have that? https://github.com/alda-
| lang/alda/blob/master/doc/variables....
| joshuaissac wrote:
| That seems to be for repeating things, but kennywinker is
| asking about shifting a note's pitch.
| Willamin wrote:
| Looks like a previous version was mostly a Clojure DSL, but the
| latest major version no longer is. There are variables and
| other useful features we know from other programming languages
| that aren't mentioned on the landing page.
|
| Of course there are also varying definitions of what a
| programming language is. For instance, I consider CSS to be a
| programming language, but I know many people disagree with that
| position (and that's okay). I personally don't think that a
| "programming language" must be a general-purpose, turing-
| complete language. Alda seems to be a non-general purpose,
| turing-incomplete language. At this point though, we're maybe
| getting into semantics a bit.
|
| Syntax change: https://github.com/alda-
| lang/alda/blob/master/doc/alda-2-mig...
| Jorengarenar wrote:
| >For instance, I consider CSS to be a programming language
|
| Out of curiosity, on what basis do consider CSS to be a
| programming language? And does it applies to versions prior
| to CSS3 too?
| bodge5000 wrote:
| I'm yet to look deeply into Alda, is anyone aware of what it
| provides in the way of sound design (if anything at all)?
| Igelau wrote:
| It looks like the answer is "no", with the addendum that
| waveform synthesis has been on the TODO list for a while:
| https://github.com/alda-lang/alda/blob/master/doc/list-of-in...
| bodge5000 wrote:
| That's a bit of a shame, the search continues then
|
| Cheers for finding out for me regardless
| iamcreasy wrote:
| Does anyone know any good resource on learning music theory using
| tools like this?
| flenserboy wrote:
| I like it. Some eventual way to translate it to XeLaTeX or the
| like would also be nice.
| hdjjhhvvhga wrote:
| For anyone curious what it actually sounds like when played by a
| musician, see https://youtu.be/7nbBSwopG-E?t=969 and
| https://youtu.be/7nbBSwopG-E?t=1033
| rglover wrote:
| Fun to watch, thanks for sharing.
| empressplay wrote:
| Programming Language = repeat 4 [repeat 4 [playnotes (word "L
| repabove 1 "A repcount "B repcount "C repcount + 1 "R repabove
| 1)]]
| Labo333 wrote:
| This is music notation, not composition!
| Igelau wrote:
| This is the car, not the driving.
| smoldesu wrote:
| I actually quite like this. Current text notation in trackers is
| pretty painful to manipulate, and I've often found myself wanting
| for a plaintext language to use instead, specifically for writing
| niche or otherwise difficult portions programatically. The syntax
| in this language seems to be exactly what I'm looking for!
| hippari wrote:
| See https://www.youtube.com/watch?v=2L7edwef-5k Scheme seems like
| a much more powerful language for music composition, with the
| ability to deal with fractions and making your own tuning system.
| xrd wrote:
| I'm glad to see more of these things. It's like a different take
| on Orca (https://github.com/hundredrabbits/Orca/) or SonicPi
| (https://sonic-pi.net/).
|
| All of these are super fun.
|
| But, it feels like we are missing an amazing EDITOR to go with
| these LANGUAGES.
|
| For example, when "live coding" music I've not yet seen a great
| editor that could simulate what options there are for the next
| measure.
|
| I can do this with two turntables and a mixer. When I used to DJ,
| I can put a record on the other deck, listen to the beat, mix and
| match it, adjust the treble/bass, even the tempo and merge it in
| WITHOUT anyone hearing those experiments. I was always worried
| about timing it correctly, and when you shift to the other deck,
| sometimes is was great and sometimes is was terrible, which is
| what you get out of live music.
|
| I wish there were good editors that would permit me to enter in
| the chords and notes I want (like all these tools do), and at the
| same time, give me a window into insights like "adding this next
| chord progression would take it into a more jazzy realm" or "if
| you spread these notes over two measures and drop them an octave
| it will get really interesting." I suppose it is a lot to ask a
| computer to make those qualitative analyses of the music, but it
| seems like at least it could gather up some options. Computers
| are good at pattern matching.
|
| And, I've also yet to see these editors offering a way to
| collaborate, either in person, or over the internet. With a
| shared language and networks, we can do this. Timing is the
| biggest thing, but music has a consistent tempo (so your
| collaboration might not arrive in this measure, but we could
| guarantee it enters the composition on the next measure at the
| exact right time).
|
| I remember a FOSCON with _why (the lucky stiff). He came with a
| band to FreeGeek in Portland, and did this interactive music
| thing, where he put up a ruby program that all the attendees to
| the event could attach to with their own IRB session. And, then
| people could collaborate on the performance with him. It didn't
| go well. A veteran Perl programmer said "it was like watching a
| train wreck" (Perl people were pretty jealous of Ruby at that
| moment). It didn't go well, indeed, but it was so a fascinating
| idea to try and I wish there were more examples of this kind of
| thing. That would be such a great way to teach music.
| henearkr wrote:
| I have written a small wrapper in bash for lilypond, just to get
| the same result, a command-line REPL, that compiles and plays
| instantly. But in lilypond instead of Alda.
| thebricksta wrote:
| Sorry to be a downer here, but can someone explain to me what the
| appeal of these projects are? In the past year or so I've seen a
| number of text-based music notation projects hit the front page
| of Hacker News and don't really understand the purpose they are
| trying to achieve.
|
| If I want to transport music notation between software programs,
| I have MIDI for that, which does a good job of capturing all
| elements of a performance (keys, timing, velocity, pedals,
| aftertouch, etc.) These types of notation formats almost always
| fail to achieve MIDIs precision across all the aspects of a
| performance.
|
| If I want to compose music, I need a format that makes it easy to
| visualize and manipulate notes in context of the other notes
| playing across all instruments. DAW piano rolls do a fantastic
| job of overlaying note information, and traditional combined
| scores do the same too. Again, text notation usually falls flat
| here - for example, if you had a large ensemble, and wanted to
| know which chord was being played on the 2nd beat of the 5th
| measure, how easily can do you do that? How do you determine if
| it's an open spacing or closed spacing? How do you determine the
| root without walking back through all the octave shifts?
| bodge5000 wrote:
| Not the author, but a big fan of these kind of projects, which
| fall into a much larger community known as "Live Coding"
| (though it also applies to other creative persuits as well,
| music is probably the most common).
|
| If the piano roll works for you, chances are these kinds of
| things won't. For me personally, the piano roll has never
| worked. Whilst I'm still trying to find my place within live
| coding, I've found trackers (especially Renoise) to be the best
| for me for the time being.
|
| Where these projects really excel though is in algorithmic
| composition and generative music (modular synthesis is also
| quite well known for this), so rather than telling the computer
| exactly what to play and when, you define the rules and tweak
| them to change the results.
|
| Of course they can also be used for a more traditional style of
| music as well, its simply another form of writing music for
| computers. Some people (most people) find the piano roll works
| for them, others prefer trackers and sequencers, others prefer
| code. Its purely preference at that point
| coliveira wrote:
| What I think this is trying to do is to put music composition
| at the reach of people who are used to REPLs and programming
| languages in general. But I agree with you that it is
| questionable if any of that makes any sense, since we already
| have fairly sophisticated software to compose music using
| notations that are much easier to handle (traditional staff,
| piano and guitar interfaces).
| fouc wrote:
| You're making me wonder if there's any drawbacks to ABC format
| which seems fairly compatible with MIDI? (via abc2midi &
| midi2abc commands)
| thebricksta wrote:
| I've played with ABC / ABC.js to render sheet music in the
| browser before and I like it for transporting notation; but I
| don't think it fulfills the same use-case that Alda is
| attempting to hit.
| porkloin wrote:
| > If I want to transport music notation between software
| programs, I have MIDI for that, which does a good job of
| capturing all elements of a performance (keys, timing,
| velocity, pedals, aftertouch, etc.) These types of notation
| formats almost always fail to achieve MIDIs precision across
| all the aspects of a performance.
|
| Well put. A lot of these feel like the wrong tool for the job,
| and I have a really hard time understanding why you'd want to
| track pitch data in a format like this when, as you say, DAWs
| exist and midi tracks can be moved around between them.
|
| The only time these types of projects make more sense to me is
| when they present opportunities for discoverability or non-
| linear sequencing that can result in new or interesting ideas.
| For example, the Orca Sequencer used in this demo
| vide](https://www.youtube.com/watch?v=Pe8wE0sx31Q) is an
| example of a tool that folks use as a synth-agnostic sequencer
| that takes advantage of a non-linear format to create music
| that you might not in a DAW/piano roll. Or at the very least,
| makes you take a wholly different route to get there.
|
| Projects like Alda, however, make less sense to me since they
| are squarely pointed at linear-workflow music tracking, which
| is such a saturated space that it's hard to come in with a new
| format that doesn't just feel like a more painful way to do
| what a DAW can let you do.
| TheOtherHobbes wrote:
| These projects appeal to those who think everything should
| look/work like simple code - basically hobby coding/tinkering
| with a bit of a musical excuse.
|
| It's such a busy space, partly because these projects rarely
| bring anything new to the table. And if they do you end up with
| something that takes a long time to learn and has almost as
| much complexity as a real instrument.
|
| So it's rare for either approach to get traction without some
| kind of championing by academia or industry.
| 667j76534v wrote:
| For nerds who are dogshit at making music, but want to adapt
| the existing tools and theory to something they know. Its
| esoteric and never practical for anyone that wants to create
| music.
| nemetroid wrote:
| Lilypond is quite good for transcribing music. It's compact and
| quick to write, so you can get the job done quickly, and the
| layout engine is actually good out of the box.
|
| However, I once tried a (small) composition project in
| Lilypond, and it really slowed to a crawl when I started to
| make major changes to what I'd already written. The ability to
| "refactor" is just so much easier in a visual editor like
| Musescore or Sibelius.
|
| Perhaps for more experienced composers, with less of a need for
| complete redos, tools like these are better at "getting out of
| your way".
| pinkybanana wrote:
| Dude, to me it sounds like you are missing the point of music,
| which is that there isn't a point. It is just to experiment and
| do whatever feels good for you, which can be quite different
| things for different people.
| munificent wrote:
| _> Sorry to be a downer here, but can someone explain to me
| what the appeal of these projects are?_
|
| I think for some people, the appeal is immediately obvious, and
| for others it isn't. If the appeal isn't there for you, that's
| OK. It just means it's probably not the right tool for you.
|
| One of the things I find most fascinating about music-making is
| how varied and personal the workflows are, and how deeply those
| workflows affect the resulting music.
|
| You aren't being a "downer" by not liking the sound of a tuba.
| It's just not your jam. But it certainly is for others and
| that's OK too.
| swiley wrote:
| Many of us are very fast with text editors and very expressive
| with algorithms but struggle with DAW interfaces. Text is just
| flexible enough to work as a replacement and the already
| existing tools to manipulate and manage it make it very
| attractive. Many of the things you pointed out could be handled
| with various editor macros or possibly even regex. In the case
| of programming languages, the high level information could be
| directly encoded by the author of the piece and the low level
| information could be generated dynamically.
|
| It's a very different perspective on computer UI design and one
| I personally prefer, although I get why it's not for everyone.
| jcpst wrote:
| I can explain why I use tooling like this. I use Lilypond
| though, not Alda.
|
| For me, it is very much just a markup for music notation that
| can be tracked in version control. Just like how one would
| write markdown and then generate html pages, I write Lilypond
| to generate scores.
|
| Example workflow- I write a song, and use Ableton to capture
| it. I'm performing with real instruments, and creating
| arrangements without writing anything down.
|
| Now I want to perform it with other musicians. I have a few
| options.
|
| I can notate what I created by hand. I can use a proprietary
| graphical notation tool, which are expensive and generally have
| sub-par UX.
|
| Or I can use a text-based system like Lilypond, and generate
| it. I can create reusable blocks, code snippets, look at a diff
| when I make changes, print the whole arrangement, print just
| the scores for individual instruments, adjust arrangements as
| easy as you adjust prose in a text editor.
|
| And also, not have to think much about the presentation layer.
| Mature tools in this category like Lilypond output great
| looking scores.
| Kluny wrote:
| For me, I think this is one of the coolest projects I've seen
| in a long time, and definitely the first musical programming
| language I've ever seen. I was a musician in high school and
| haven't picked up an instrument for a long time, but I still
| remember how sheet music works. As a drummer, I was never much
| good at reading notation or playing other instruments, so this
| would be a really accessible way for me to write music and see
| what it sounds like, as well as debugging it the way I would
| with code.
| jeofken wrote:
| There is also the popular ABC music notation language, but it
| seems to be less comprehensive than OP
| eurasiantiger wrote:
| How about just using C?
|
| https://youtube.com/watch?v=tCRPUv8V22o
|
| Maybe /s, maybe not...
| jhbadger wrote:
| "If I want to compose music, I need a format that makes it easy
| to visualize and manipulate notes in context of the other notes
| playing across all instruments."
|
| Most composers compose using a piano. Orchestration is
| something that generally happens later, after the song has
| already been worked out on one instrument.
| niek_pas wrote:
| I'm pretty skeptical of this statement, do you have a source
| I could check out?
| abcc8 wrote:
| To put it another way, do you think that the harmonies and
| flourishes are written before the chord progression and the
| melodies?
| techbio wrote:
| I'm just going to concur with GP: as someone who has looked
| for advice for songwriting on guitar, the writers I look up
| to almost always wrote with a piano. If your quibble is
| with "most", and your musical tastes are somewhere within
| EDM (mine are not), might be a perception bias towards
| laptop electronica.
| beardyw wrote:
| Me too. My brother in law would sit writing music on
| manuscript for hours. Very occasionally he would get up, go
| plink plonk .. mm .. plunk on a piano, and sit down to
| carry on writing.
| thebricksta wrote:
| I think the truth of that statement very much depends on
| the genre, workflow, and age of the composer.
|
| Yes, some older composers cut their teeth with pianos,
| staff-paper and pencils and established workflows based
| strictly on getting the whole song on paper before the
| orchestration/arrangement, and still work that way today.
|
| However, I'd argue the vast majority of younger composers
| and people who write in more electronic-influenced genres
| definitely do not follow that workflow. It'd be very hard
| to write an entire pop/rap/dance track that relies heavily
| on the drum and bass interplay by first writing it all out
| on piano.
| bsder wrote:
| Practically every single DAW setup has a piano keyboard
| sitting in front of it. As a guitarist, I have had to learn
| to be at least competent on keys to communicate with people
| using DAWs. That's a pretty strong counterargument.
|
| I think the only real argument would be whether most people
| compose with piano or guitar--and piano outnumbers guitar
| by a lot last I checked.
|
| Everything else is in the noise.
| cloverich wrote:
| i don't know the breakdown but a lot of musicians in
| general do this, even some producers. For my genres more
| often with an acoustic guitar and vocalist (usually same
| person) ; interestingly at least one does this when the
| final song(s) don't even include a guitar. I have very
| limited exposure to this but it makes sense.
|
| https://woodandsteel.taylorguitars.com/issue/2021-issue-1/f
| e...
| jancsika wrote:
| > Most composers compose using a piano.
|
| Most of the time mountaineers use a mountaineering jacket to
| run errands in town when it's raining.
|
| I'm not sure that measuring "most" has much explanatory power
| in either case.
| prvc wrote:
| >If I want to transport music notation between software
| programs, I have MIDI for that, which does a good job of
| capturing all elements of a performance (keys, timing,
| velocity, pedals, aftertouch, etc.) These types of notation
| formats almost always fail to achieve MIDIs precision across
| all the aspects of a performance.
|
| Music notation works at a higher level of abstraction than
| that, and is intended to be intelligible by humans first and
| foremost.
| jcelerier wrote:
| > Music notation works at a higher level of abstraction than
| that, and is intended to be intelligible by humans first and
| foremost.
|
| there's an entire generation of people who mainly compose
| through ableton live's piano roll though
| thebricksta wrote:
| I misunderstood the point of this comment before, thinking
| you were arguing that MIDI fails because it is not, itself, a
| clear human-legible format like text-notation languages being
| discussed are.
|
| I understand now that you likely meant that MIDI does not
| capture the score itself, so it does not work as a notation
| file format, whereas these text-notation languages do
| describe the score.
| thebricksta wrote:
| Alright, it was wrong of me to call MIDI a notation format,
| since it's not.
|
| MIDI is a protocol meant to be able to capture the
| performance of music, and much of the performance isn't
| human-intelligible data, so MIDI doesn't work as notation.
|
| However, the case I was making is that MIDI can capture all
| the data present in a score already and transport between
| applications. No, you would never read MIDI itself from a
| file and try to play it on a piano, but I also doubt you
| could easily read Alda straight from a text file without
| rendering it either.
| voakbasda wrote:
| MIDI can capture the meaningful information about a
| performance of a work. It cannot work back from that and
| present the original sheet music. The performance is, by
| definition, only one possible interpretive expression of
| the written music. As such, MIDI cannot possibly transport
| all of the information of a piece of music that I score
| using classical notation without losing some of the
| specific information.
| thebricksta wrote:
| Yes that's a good point, something I was thinking about
| too after that post:
|
| MIDI cannot work its way back to the original score
| itself, but it can capture a perfect performance of the
| score and allow that performance to be notated in another
| scoring program. That doesn't quite get you back to the
| original score however.
|
| So now I suppose I can see some value in trying to
| develop more score representation formats with more
| compatibility - it'd be cool to be able to write a proper
| score then drag-and-drop it like MIDI into a DAW. Yes,
| that's usually possible through MIDI export, but it'd be
| neat if that was a first-class feature and we all passed
| around scores on the web instead of MIDI files.
|
| EDIT: On further thinking, passing scores around wouldn't
| really be sufficient either, as oftentimes you do want a
| copy of an exact performance with humanized timings. I
| suppose you really would need to embrace both formats, or
| create some sort of hybrid that can capture elements of
| either/both freely.
| mnhn wrote:
| This is a really nice and subtle point. A score,
| expressive as they can be, is still a text to be
| performed. No one performance is the text, and the text
| is not a performance. There is a whole person performing
| the work whose identity, personality, history,
| sensibility and present state of mind all feed into any
| specific performance.
| [deleted]
| schot wrote:
| How does this compare to LilyPond? I'm surprised it isn't
| mentioned at all, since from a first glance the notation looks
| very similar.
|
| [0]: http://lilypond.org/
| rekado wrote:
| I actually used LilyPond for composition. It's a little less
| convenient because MIDI output is rather limited. But it gets
| the job done:
|
| https://guix.gnu.org/en/blog/2020/music-production-on-guix-s...
| ARandomerDude wrote:
| I don't see support for adding lyrics in Alda unless I'm
| missing it.
| tartoran wrote:
| "LilyPond is a music engraving program", great for writing
| sheet music. This seems to be a music composition tool, eg you
| can use the repl to tweak your performance
| nemetroid wrote:
| I didn't see anything in the tutorial that LilyPond doesn't
| also do (and in a similar way).
| [deleted]
| tenaciousDaniel wrote:
| Love these little DSL experiments. The more the merrier
| jononor wrote:
| Alda looks pretty neat. Manipulating it with a rewriting system
| (ala Lindenmayer) or a generative text model (hello GPT3) could
| be fun!
| nielsbot wrote:
| I used to use GWBASIC to make music on the PC. I immediately
| thought the same thing.
| jeofken wrote:
| Very cool! I've been an ABC user for years, but always missed
| being able to make full scores with multiple instruments or a
| whole orchestra. This is what I've been looking for
| incanus77 wrote:
| This is neat. It's basically a REPL for 80s BASIC-style Music
| Markup Language (MML), almost identical syntactically.
| lioeters wrote:
| Thanks for this reference, it led me down a curious tangent.
|
| It might not be the same thing - this one is XML-based, rather
| than "BASIC-style" - but I found an example of what Music
| Markup Language looks like, with Chopin's Trois Nocturne:
|
| https://steyn.pro/mml/examples/chopin.html
|
| For more links:
| https://en.wikipedia.org/wiki/Music_Markup_Language
| montag wrote:
| Oh...no...this MML is XML-based markup (read: not practical
| for use by humans), not the same as Music Macro Language.
| lioeters wrote:
| Hahah, I see, thank you for the correction.
|
| https://en.wikipedia.org/wiki/Music_Macro_Language#Modern_M
| M...
| montag wrote:
| Indeed, MML is mentioned here: https://blog.djy.io/alda-a-
| manifesto-and-gentle-introduction...
|
| This is another interactive MML project worth checking out:
| https://github.com/superctr/mmlgui
|
| edit: unfortunately, we need to clarify...we're talking about
| Music _Macro_ Language
| hikerclimber1 wrote:
| Hopefully inflation in us reaches a billion percent
| Mizza wrote:
| I ended up creating a lighter version of this for one my
| projects, https://github.com/Miserlou/chords2midi
|
| I think that something that Alda looks like it lacks right now is
| doing things around intervals rather than notes, as
| transpositions and key changes will be very tedious without
| embedded knowledge of intervals.
|
| My project is based around a Python library called Mingus, which
| I think gives you most of what you'd ever need to build a music
| programming project.
|
| https://bspaans.github.io/python-mingus/
| snambi wrote:
| Does it support karnatic music notations "Sa, Ri, Ga, Ma, Pa, Da,
| Ni"?
|
| Usually written as S,R,G,M,P,D. Makes it easy for Karnatic/Tamil
| musicians.
| vldmrs wrote:
| I was surprised not to find any demo of the Alda generated music
| on their website.
___________________________________________________________________
(page generated 2021-08-16 23:00 UTC)