My dad wrote an opera using LilyPond in vim, though I believe these days he's actually doing more with supercollider, which skips sheetmusic and goes right to sounds: https://supercollider.github.io/
My dad wrote an opera using LilyPond in vim, though I believe these days he's actually doing more with supercollider, which skips sheetmusic and goes right to sounds: https://supercollider.github.io/
Also as a programmer, Lilypond is programmable, and nearly infinitely customizable (similar to tex). I love that I can write some style information in a "header" and include it in every score. In my current project I am writing a lot of SATB choral songs in book format. But I also want to do a melody only edition. Just tweaking a header file, I can hide all the other voices, no problem.
(I also use Musescore, which I prefer for composition or simple projects. But when I want to output a large finished product, I always go back to Lilypond.)
XML files are often of that kind, but not only. Many years ago I worked with a FORTRAN derived file format which from the outset should be ideal for git. In reality the files were several gigabytes and for most of them the ordering of the lines was insignificant[1]. Not only is git not particularly good with very large files (it certainly wasn't back then), diffing and merging files where several hundreds of millions of lines jump around arbitrarily is practically impossible.
[1] This was a deliberate design decision of the language. When it was conceived it was still usually punched on physical paper cards. One 80 character line used to be one punch card. Card decks sometimes fell to the ground and got all mixed up. A language that doesn't require a particular ordering of the cards (=lines) is kind of practical in real world scenarios. Of course millions of cards is not, so the point was kind of moot, but there we were.
There's definitely room for something that bridges the advantages of the different approaches, but it's a difficult problem and it's a $0 billion market, so having passionate people make MuseScore better is probably the best path forward.
It requires a tablet and pencil/stylus, and it’s a bit pricey. But I’ve found the handwritten interface, once I got used to it, to be fairly intuitive.
My still-early impression of StaffPad is that it is best for writing scores in a traditional, classical-like format, and detailed knowledge of standard music notation seems to be necessary. It might not be suitable for people who are more comfortable composing with keyboards, rhythm machines, digital audio workstations, etc.
I learned how to write music 50 years ago on paper. Compared to that, this software is a huge advance. Being able to edit scores easily and hear what I write played back is wonderful.
On the editorial side, LilyPond is an incredible tool for creating modern editions of earlier music, specifically music in mensural notation. It comes with common glyphs and has full ligature support, and the separation of content and presentation means that one can reproduce the look of early manuscripts and prints while generating a modern score from the same source file. This has been really great at reducing transcription errors by easing the mental burden of transcription, transposition and note reduction, which can all be handled automatically by LilyPond. It's not perfect, but miles ahead of any alternative.
What older people on the extreme of some skill think about the skill is not necessarily applicable to 99.9% of us.
- [1]: https://abcnotation.com
- [2]: https://obsidian.md
(But Lilypond is hard, harder than writing documents in LaTeX for example.)
from this pursuit, I've come to realize that "sheet music" is just the only technologically available way to store the music back in the day. a practice which had an entire publishing and printing industry around it; this is how composers in the 19th century made money
BUT THEN, sound recording technology made that be somewhat obsolete, and then synthesizers and computers came and made music writing notation be less and less capable of keeping up the pace of musical technology innovation.
all in all, I'm considering that what if I say that PCM is a writing and start 'handing down music' directly as 0s and 1s in at a 16 bit depth (two bytes per sample) at a 44100 samples per second?
then again that's cumbersome, so the super collider code (and everything needed to run it) IS now the 'music notation' which includes a description of the instrument as well as the song/the music. (traditional written sheet music notation does not really include a description of the instrument beyond a reference by name)
this also "turns" the music interpreter into a digital to analog converter. lol
CSound is akin to a badly written assembly language for audio synthesis and processing.
SuperCollider (or more precisely, SClang) is more like Lisp for audio synthesis and processing.
One important difference is that the designer of SClang understand roughly 1000% more about programming languages than the designer of CSound (who was a visionary person, but who really didn't understand programming languages).
A composition, to varying degrees depending on the composer, leaves various degrees of freedom for the performance. So the PCM encoding of a performance is entirely different to the composition ... conceptually.
However, a good musician may be able to listen to the PCM encoding (aka "digital audio") and from that frame their own understanding of the composition, thus leading to a new performance.
So .. it's complicated.
I am interested in music in contrast with the broader "sound art"; then again I don't even know what the heck this 'difference' between these even means
It's very much like with kerning - once you see a sheet with decent alignment, you can't unsee it.