[HN Gopher] LilyPond: Music notation for everyone
___________________________________________________________________
LilyPond: Music notation for everyone
Author : tosh
Score : 296 points
Date : 2024-02-22 10:22 UTC (2 days ago)
(HTM) web link (lilypond.org)
(TXT) w3m dump (lilypond.org)
| coreyp_1 wrote:
| Lily pond is great! I used it to be able to script the creation
| of musical examples to be put on PowerPoint slides and
| instructional videos. With a little bit of tinkering, you can get
| Lily pond output as an SVG to play nicely with Manim, and get
| some really interesting computational animations.
| dang wrote:
| Related. Others?
|
| _"Compiling" Music_ -
| https://news.ycombinator.com/item?id=30625450 - March 2022 (44
| comments)
|
| _Lyp - The Lilypond Swiss Army Knife_ -
| https://news.ycombinator.com/item?id=13259590 - Dec 2016 (7
| comments)
|
| _Obsessed with putting ink on paper or What 's wrong with
| computer music notation?_ -
| https://news.ycombinator.com/item?id=1515262 - July 2010 (36
| comments)
|
| _Open source typesetter for sheet music_ -
| https://news.ycombinator.com/item?id=1192289 - March 2010 (23
| comments)
|
| _LilyPond architecture (music notation software in Lisp)_ -
| https://news.ycombinator.com/item?id=379234 - Nov 2008 (2
| comments)
| croisillon wrote:
| looks like this task could somehow be automated ;)
| eointierney wrote:
| I am very happy dang is intelligent
| jamesear wrote:
| I like the signal-to-noise ratio of interested commenters
| searching for related posts.
|
| I fear something automated would be too spammy for most
| posts.
| dang wrote:
| It would require writing code to pick out the meaningful
| threads.
| croisillon wrote:
| maybe according to the points and comments they got at the
| time? i mean yes it would require writing code but lately
| you do it so often manually...
| Kye wrote:
| Maybe dang enjoys this part of the job and doesn't want
| to automate it away.
| croisillon wrote:
| or maybe it is already automated, we will never know :)
| tylershuster wrote:
| I've also used VexFlow to good effect producing web-friendly
| music notation. Given I've had to invent my own syntax for
| producing pieces with any rapidity, but it seems less complicated
| than this.
| megmogandog wrote:
| I tried to learn LilyPond once but it was a bit too arcane for my
| taste. Now I use MuseScore, WYSIWYG notation program which is a
| lot more intuitive (and, like LilyPond, also released under the
| GPL).
|
| I write relatively simple music, though, mostly lead sheets. I
| always imagined LilyPond would shine in more complex scoring
| situations.
| RogerL wrote:
| LilyPond rules when you want to manipulate music
| algorithmically. Like make a music reading training app that
| creates examples based on your performance so far.
| xhevahir wrote:
| Seems like one of the libraries that can output Lilypond
| (like music21, mingus, abjad, or music-suite) would be better
| for that purpose.
| singingfish wrote:
| By way of being useful and for future reference for me:
|
| music21: http://web.mit.edu/music21/
|
| mingus: http://bspaans.github.io/python-mingus/index.html
|
| abjad: https://abjad.github.io/
|
| music-suite: https://music-suite.github.io/docs/ref/
| singingfish wrote:
| I've had a few attempts with algorithmic lilypond for some
| technical exercises. It's generally good for getting the
| basics out, but you either lose the advantages of `relative`
| mode, or end up with unreadable nonsense. So I find it's good
| for getting things started / 80% of the work done but then
| needs tweaks.
| bitbckt wrote:
| I only use LilyPond for engraving, and MuseScore for input.
| They complement each other that way as a free software
| replacement for the usual commercial options.
| PaulDavisThe1st wrote:
| The (former, IIRC) product manager for MuseScore (aka
| @tantacrul) has claimed that he thinks that MuseScore is now
| doing better engraving than LilyPond. He has a vested
| interest, obviously, but he's also a smart and conscientious
| human being.
| zwily wrote:
| I've tried MuseScore several times over the years and just
| this year realized that 4 is actually pretty dang good. I
| haven't reached for anything in awhile.
| bitbckt wrote:
| It is vastly improved, yes. I'm not ready to say it's
| better.
| yashrk wrote:
| LilyPond is the best way to integrate sheet music into the text-
| only formats (Markdown, wiki markups, org-mode). MediaWiki
| supports LilyPond. Emacs org-mode supports LilyPond. In fact
| LilyPond is way more simple to make small score snippets than any
| WYSIWYG score editor.
| organsnyder wrote:
| A while back I built a music publishing company (long defunct)
| and used LilyPond to engrave all of our scores. I received
| comments from quite a few established composers that the
| engraving was the best they'd seen from any publisher.
|
| I ended up with a collection of macros I used for common tasks.
| Probably the most-used was a macro that manually overrode the
| positioning of an element to be more visually pleasing or less
| confusing. Of course, it could be argued that the need for this
| indicates a deficiency of the engraving engine (and this was
| sometimes the case), but a manual final pass makes the difference
| between functional and professional-looking results. LilyPond's
| markup language made this easy.
|
| LilyPond's test suite taught me the value of comprehensive test-
| driven development: every bug starts as an addition to the test
| suite, and a visual diff--including a numerical value indicating
| the amount of change--is taken of the entire suite in between
| versions. In this way, regressions are quickly identified.
| jchmbrln wrote:
| I'd love to see your macros if you have them online somewhere.
| I've lately started spending lots of time notating music in
| LilyPond and am seeing the need to build tooling along the way.
|
| I started a personal folk song collection using ABC notation.
| For simple tunes ABC is fantastic, but now that I'm doing more
| choral/four-part works, I'm reaching for the more powerful
| tool. Yet there seems to be a huge gap between ABC (simple
| things done simply and in one way) and LilyPond (do literally
| anything you want following any format you want, dropping into
| Scheme as necessary). Ease-of-use/quality-of-life tooling to
| fill that gap is appealing.
|
| P.S. I'd also love to hear the story of your music publishing
| venture. It sounds intriguing!
| o11c wrote:
| The problem with lilypond is that it's a write-only language. Due
| to so many macros, it can't be parsed, only executed.
|
| So its main value to me is as an intermediate output format.
| Because its output _is_ amazing.
|
| (to me, an ideal music representation should be 2-dimensional,
| consisting of multiple parallel data and markup channels, then
| each rendering should be able to select a subset)
| bjoli wrote:
| I have a set of standard macros. I rarely write more.
| echoangle wrote:
| Interesting that Music notation even seems to be a "challenge" to
| do with a computer, speaking as a complete layman. It seems like
| there is only a few note symbols to draw, at fixed positions. Can
| someone explain what makes good engraving good?
| Kye wrote:
| Western notation is a complex written language developed over
| centuries. It's easy to render the symbols in isolation, but
| not the meaning they convey to the musician who's expected to
| perform it. Even something like whether to render a flat or a
| sharp depends on context and intended use.
| exabrial wrote:
| ^ This is "the problem". A lot of music students try to
| "solve" it after getting frustrated with the staff, but
| eventually decide that couple hundred years of bad notation
| still has most of the bugs worked out.
|
| You're really looking for patterns on the staff rather than
| the exact pedantic notes that are present in the notation.
|
| Me? Still learn best by ear. Unfortunately this is also the
| slowest method....
| rtsil wrote:
| Learning by ear is the best by far, and we live in a period
| where we can listen to every music every produced. When I
| learned music, music wasn't as available so you had to
| learn the pieces the hard way.
|
| There is also the problem that human memory has
| limitations, and if I stop playing something, I will forget
| it after a couple of weeks, so again musical notation is
| very helpful.
|
| > You're really looking for patterns on the staff rather
| than the exact pedantic notes that are present in the
| notation.
|
| Exactly. Playing the exact tune becomes boring after a
| while; music is a fun creative exercise for me, so the
| notes and chords are a general direction, not a precise
| roadmap. If I wanted a perfect interpretation, I'd listen
| to the recorded piece instead of play it.
| bombcar wrote:
| https://lilypond.org/doc/v2.24/Documentation/essay.pdf is a
| really good explanation - simplistic "make music notes like
| characters in a font" gets you the information, but it is NOT
| at all beautiful and actively fights against you, the same way
| badly typeset and kerned text is hard to read.
| croisillon wrote:
| that is incredibly interesting, thank you!
| bitbckt wrote:
| The answer to that question has consumed books and university
| courses, but the LP essay linked in the sibling comment is a
| fine start.
| tecleandor wrote:
| Positions, orientation and spaced aren't fixed and can vary a
| lot. To get a bit of the detail involved on it you can check
| the videos for Musescore 3.6 engraving updates [0] or the
| "Overhaul" and "Notation" sections for the 4.0 update [1].
|
| Those aren't long, around 5 minutes each. 0:
| https://www.youtube.com/watch?v=qLR40BGNy68 1:
| https://www.youtube.com/watch?v=Nc08RhOQDR4
| diskzero wrote:
| There are numerous symbols to represent pitch on a staff,
| numerous other symbols that can be attached to the pitch
| symbols that represent changes in duration, dynamics, various
| techniques and more. These symbols can be stacked above and
| below the pitch symbols, to the sides of the symbols and more.
| There are other symbols that can span multiple pitch symbols,
| groups of symbols and more. There are more symbols that control
| the tempo of the playback of the score, the number of times
| sections of the score should be repeated and other symbols that
| will move the current playback location of the score to some
| other place. The placement of all of these symbols have "rules"
| but these rules are really suggestions and composers will
| always want to adjust and bend these rules. If a system
| implements strict rules, that system will come under criticism
| as being inflexible. There seems to always an exception to
| every rule of music notation.
|
| I have been working on music notation software for almost forty
| years and have seen programmers come and go with their attempts
| to "solve" the problem of music notation. It is a very
| difficult problem. Once upon a time SCORE [1] was considered
| the best of the best on music engraving software. I worked with
| Leland Smith to update the program to more platforms. Sadly,
| the SCORE source code is not available and the rights of the
| source code are unclear after Leland's passing. Many music
| publishing companies continued to maintain systems using SCORE
| for quite a while.
|
| The notation engine of my iOS music notation program Komp [2]
| is available here: https://github.com/SemitoneGene/notation.
| This code is most certainly not the best or most complete, but
| it is easy to read and comprehend if you want to see the
| complexity involved. MuseScore has also been mentioned in other
| posts.
|
| If I were to do a commercial engraving of a music score, I
| would use Dorico. It is being developed by who I would consider
| the most insightful and understanding group of developers who
| have a real desire to make the best music engraving program.
|
| LilyPond produces very good output but offers its own series of
| challenges to use. MuseScore is a nice program, but it has a
| long way to go to meet the demands of the high professional
| composition and engraving market.
|
| [1] https://en.wikipedia.org/wiki/SCORE_(software)
|
| [2] https://apps.apple.com/us/app/komp-create/id1103355632
|
| [3] https://www.steinberg.net/dorico/
| nicklecompte wrote:
| The problem is closely related to computational typesetting,
| e.g. TeX, which is an extremely complicated piece of software.
| While it might be true that music notation is ultimately
| "simpler" than document typesetting, I wouldn't stake money on
| that claim.
|
| A somewhat ignorant TL;DR:
|
| - It's probably not too difficult to render simple music in a
| bland, ugly way, in the same way that it's not too difficult to
| render ASCII text documents with a monospace font.
|
| - When notation gets complicated it is tedious but somewhat
| routine to render music in a way that looks like total garbage:
| things are awkwardly smooshed together or spaced way too far
| apart; some symbols look "too small" alongside others when
| using uniform scaling; long lines that have to travel over
| multiple notes end up clashing and making the score unreadable;
| etc etc etc.
|
| - Actually getting things right in a general-purpose musical
| notation program is hard hard work. I don't have any direct
| experience here but I am sure it's a nightmare and takes
| constant testing to figure all this stuff out.
|
| I play jazz and don't fully believe in Western music notation
| :) So I can't speak too directly here on the intricacy. But I
| would highly recommend reading Knuth's TeX Book (and skimming
| the WEB source of TeX itself) just to get a sense of how many
| different decisions a typesetting / music notation program has
| to make.
| singingfish wrote:
| > I play jazz and don't fully believe in Western music
| notation :)
|
| My friend - accomplished classical musician and now pretty
| well known jazz musician tells me you can't write down latin
| music accurately. Personally I think while written language
| is largely about conveying a fairly unambiguous meaning,
| written music is really about providing enough for the player
| / or conductor to be able to infer what they need to do.
| bjoli wrote:
| You can't write any music accurately. Ask her if she can
| write a later Miles Davis solo accurately so that anybody
| can perform it just as he plays it :)
|
| I work in a much more notation-bound genre (I am an
| orchestra bassoon player) and I would say you would
| struggle a LOT to notate twinkle twinkle little star in a
| way that makes everyone perform it the same.
| analog31 wrote:
| In addition to the elegance, there's also a functional side,
| which is that people are going to be reading your stuff, at
| speed. I'm a jazz player, but still play a lot from sheet
| music, and good layout can make arrangements a lot more
| readable.
| Tokkemon wrote:
| I'm a professional engraver. How much time you got? lol There's
| about 200-300 "standard" symbols for music notation, but that
| can balloon to upwards of 2,000 when factoring in all the nooks
| and crannies of the artform. Then you have to know what they
| all mean in order to convey the musical meaning the composer
| intends. Then you have to understand the psychology of players
| and what they would _expect_ on a sheet of music and account
| for that. The "fixed positions" are very mailable depending on
| context, especially once we start factoring in accidentals and
| multiple voices on a single staff which can change the
| horizontal spacing in all sorts of dramatic ways. Then we have
| to deal with layout of the score so its density looks even and
| flows well, and has good page turns. Oh, and transposing
| instruments, cuz we still do that. And I haven't even mentioned
| lyrics for singers yet, which add tons and tons of new problems
| to solve.
|
| It's a grueling art form, frankly, but I love it and I wouldn't
| do anything else.
|
| Context: I'm Senior Product Designer for Sibelius and founder
| of Music Engraving Tips on Facebook/YouTube.
| jraph wrote:
| As a matter of fact, I started learning LilyPond last weekend
| using Frescobaldi, because of its awesome midi input, and because
| I figured I might get more efficient with code than with a
| WYSIWYG editor (I use MuseScore).
|
| Frescobaldi is a very nice way of getting started. It generates
| code that you see, you can use buttons for features you don't
| know yet and then you can type code directly when you know it.
| Frescobaldi then remains useful for at least these reasons:
|
| - midi input and output
|
| - the rendered view and mapping between this view and the code
| when you click on stuff, quite like those latex IDEs
|
| - new feature discovery. I discovered the concept of the UI that
| shows you what code is generated and where recently with LuCI for
| OpenWrt, which shows what config file is going to be updated and
| how; I love it and Frescobaldi has the same quality. I find it
| lets you get started and then master a new complex system
| efficiently and painlessly.
|
| Of course I suspect I will reach for my usual text editor at some
| point... and maybe I need a midi input plugin for it (Kate, if
| anybody happens to know something about this)
|
| Of course storing repeated notes in variable is incredibly
| useful, and managing different voices on the same clef is
| surprisingly easier than with MuseScore.
|
| One thing I dislike is how stuff applying to several notes need
| to be "opened" _after_ the first note. I needed to do such a
| thing to a group of notes that was also used elsewhere and
| storing this group of notes in a variable was only natural but
| then it 's difficult to open something after the first note. But
| this is easily overcome by using an empty chord ( <> ) to start
| the grouping thing. Feels hacky but seems to work, I hope it
| doesn't have unintended consequences. I'm sure there's a very
| sensible reason for this that I will discover later and will make
| me think that it was an obvious design choice after all.
|
| I'm not sure it's for everyone though. MuseScore is better at
| this, LilyPond has started being for me at a time WYSIWYG started
| being frustrating and when I started wishing the UI didn't get in
| the way of my note input (before this, I absolutely didn't want
| to write code to make a music sheet - just let me click already).
| But I'm used to code and to please compilers. Code scares a lot
| of people. I wish it didn't.
| ziotom78 wrote:
| The fact that slurs and grouping must be appended after the
| note hasn't always been so. I have been a user since its first
| versions, and at the beginning you would write a legato scale
| like this:
|
| (c d e f g a b c)
|
| which indeed looks more natural because resembles the way
| parentheses are used in mathematics and programming.
|
| If I remember correctly, the change happened ~20 years ago
| because it made the notation more consistent: everything
| related to the note happens _after_ the note name (durations,
| staccato, marcato, slurs, etc.). I remember that it took me
| several months to get acquainted with the new syntax.
| max_ wrote:
| I have been having this Idea for a few years now. Why can't we
| just writ music like code.
|
| Executable & all.
| skull723 wrote:
| Then you might like 'faust' or 'pure data'.
| PaulDavisThe1st wrote:
| or ChucK or or SuperCollider or CSound or any one of couple
| of dozen of domain specific live coding languages ...
| Tokkemon wrote:
| The biggest problem is so much of music notation's meaning is
| defined by it's graphical information, not just the content.
| This is where it differs significantly from code or even text
| typesetting. At some point, you have to get into the nitty
| gritty of _where_ to place symbols on the page. Lillypond gets
| you part of the way, but the last part is really hard to do and
| most users are more comfortable with a WYSIWYG setup.
| vintermann wrote:
| Even more than precision, you need consistency. You need to
| tweak the rules, not just the elements, to make a score look
| good. So WYSIWYG doesn't buy you that much.
| bombcar wrote:
| LilyPond Book combines LaTeX and LilyPond in a way that is
| actually quite capable and performant once you learn how it works
| - https://lilypond.org/doc/v2.23/Documentation/usage/lilypond_...
|
| An 11 year old work still compiles just fine ...
| susam wrote:
| Personal story: Over a decade ago, when I was learning to play
| the piano, I made an arrangement of _Twinkle Twinkle Little Star_
| for my girlfriend (now my wife). While the arrangement was pretty
| basic, I also wanted to present a printed score and that 's when
| I turned to LilyPond.
|
| Here are the files if anyone is interested to take a peek:
| <https://susam.net/files/music/twinkle-twinkle-little-star/>. The
| .ly file has the LilyPond code. The .midi and .pdf files were
| generated from it automatically. The .mp3 and .ogg have the audio
| recording of the music played manually on an electronic keyboard.
|
| Please note that the LilyPond code might not reflect optimal or
| idiomatic practices, given that I was new to both music and
| LilyPond at that time. Nevertheless, it was very satisfying to
| see the polished output generated by LilyPond. I remember getting
| the same kind of satisfaction when I discovered LaTeX about two
| decades ago and realised that I could finally render mathematical
| formulas beautifully that look exactly how they should look.
| gerdesj wrote:
| "I made an arrangement of Twinkle Twinkle Little Star for my
| girlfriend (now my wife)"
|
| Nerd! ... and beautifully done. The route to a partner's heart
| can be fraught with danger and false turns.
|
| I've just heard the .mp3 - very nice (sorry - only nice!)
| singingfish wrote:
| Interesting. A few years ago I had a bunch of music to learn
| fast, and was having real trouble with reading. I had a longish
| commute at the time and spent a big chunk of it re-transcribing
| the music to lilypond so I could get score and midi. The act of
| translating the original notes to its letter, typing it in then
| re-rendering and listening to the MIDI improved my sight
| reading massively.
| iso8859-1 wrote:
| EDIT: Deleted for copyright violation
| lolinder wrote:
| It's a pretty big leap to get from "notation isn't required for
| all forms of music" (what the person you're citing actually
| said) to "Lilypond is only for you if you're a classical
| musician". The music world isn't divided into a dichotomy of
| jazz players and classical players, and even many modern jazz
| players read and write musical notation.
| rtsil wrote:
| If anything, learning jazz improved my notation reading
| skills by making me think faster.
| diehunde wrote:
| Yes they do
| kazinator wrote:
| Over a decade ago, I was doing some composing and so I tried
| every free composition program, as well as trials of commercial
| ones.
|
| In the end, only LilyPond was easy and intuitive to use, due to
| relying on text editing that you already know, instead of
| incomprehensible editing paradigms where weird, invisible things
| happen.
|
| I was easily able to find out how to include everything I wanted
| in the output, like fingering indications and chord diagrams.
|
| https://www.kylheku.com/~kaz/Prelude.pdf
| TylerE wrote:
| The start of that set, has, to put it blunty, moved in.
|
| Dorico, in particular, is light years ahead, having an actually
| useable GUI while still being able to do advanced layout stuff,
| some of which would take hundreds of lines of custom macros in
| lilypond.
|
| I can enter 100 bars in Dorico faster than I could 5 in
| lilypond... 10+ years ago when I was using it at least weekly.
| ubj wrote:
| LilyPond is surprisingly good at producing high quality scores. I
| was surprised to learn recently that many people export from
| other music editors (e.g., Musescore) to LilyPond to compile the
| final output.
| Slow_Hand wrote:
| What does Lilypond offer that other robust, free, and open-source
| notation programs like Musescore don't?
| tomcam wrote:
| Nothing else comes remotely close to the engraving and
| scripting features.
| turtlebits wrote:
| Text entry. I find Musescore terrible (even revisited it after
| their huge upgrade). Being able to freely enter text means I
| don't have to care about timing and just get the notes on the
| page, which most other notation apps are strict about.
| Tokkemon wrote:
| Much more robust engraving support, and, frankly, being
| actually open source as opposed to owned by a big conglomerate
| who's gobbling up music companies right and left.
| jamesear wrote:
| Excuse my ignorance, I'm about to ask stupid questions.
|
| * What type of person uses this? I guess the intersection of
| people interested in composing and people able to typeset? I
| would have thought it wasn't that popular, but it has the polish
| of a popular tool. What am I missing?
|
| * Do people typically use this to compose their own music, or are
| they recreating music they know?
|
| * How similar is sheet music to source code? Does any software
| interpret it to output audio?
|
| * Are there any open git repos where people collaborate on an
| open collection of sheet music?
|
| * How expressive is sheet music? How constrained do you feel
| trying to convey your idea onto this format? Does it support
| abstraction, or making your own abstractions?
| hooo wrote:
| You ask such good questions here. I am curious about the same.
| The other comments provide some clues as to the answers.
| turtlebits wrote:
| A lot of older classical scores have poor scans, low res, or
| are hand written. If I enjoy a piece, I'll redo the notation
| and upload it (generally to IMSLP).
|
| I have a MIDI piano so I end up using the keys to input, which
| can be fairly quick, depending on the piece.
| Doctor_Fegg wrote:
| What software do you use to get the MIDI inputs into
| Lilypond?
|
| (and thank you for contributing to IMSLP, one of the great
| commons of the internet)
| jononor wrote:
| IMSPL looks go be https://imslp.org/wiki/Main_Page It seems
| that some uploads are just PDFs, while others include
| Lilypond files.
| MatmaRex wrote:
| It's used to render sheets and audio in Wikipedia articles (I
| hope this answers several of your questions). Example:
| https://en.wikipedia.org/wiki/Humpty_Dumpty#Lyrics_and_melod...
| ink_13 wrote:
| I have published one complete work in Lilypond which I estimate
| has been downloaded about 50k times (and those downloads were
| probably reused for multiple people, because it was an
| instructional work). I guess that qualifies me to answer?
|
| * I have a background in LaTeX, so that's why I picked it up.
| The work I transcribed is a set of six French baroque sonatas
| for two violins which are commonly used in intermediate-to-
| advanced teaching.
|
| * At the time I did it, there was no freely available score
| that showed both parts on the same page, just reproductions of
| the original handwritten manuscript, so I did it to have a
| cleaner copy where you can see both parts at the same time. I
| had to edit slightly because it turned out the original
| contained a handful of errors.'
|
| * Very similar. Lilypond started life as LaTeX macros, and
| while it's now well beyond that, you can see the roots.
| Lilypond can output MIDIs from source.
|
| * I don't know about git repos, but there's no reason you
| couldn't. I did publish the source alongside the finished PDF
| on IMSLP (the International Music Score Library Project, a wiki
| of public domain music).
|
| * For my purposes (playing European music using the 12 tones in
| the traditional style from Renaissance to modern, both
| classical and folk), perfectly expressive. I'm not sure what
| you mean by abstraction in this context, but if you want to do
| something for which there isn't common notation, you can just
| write words.
|
| I would use Lilypond without hesitation if I had a new work I
| wanted to publish, just as I would use LaTeX to publish a book
| or document. It's a typesetting system, and if you're using it,
| you're already committed to the form of traditional European
| sheet music.
| ksherlock wrote:
| I started setting up a piano blog once, which used lilypond to
| generate an image of the sheet music (then trimmed with image
| magic) and a midi file (rendered to wav with fluid synth and
| compressed to mp3). This would have been for small snippets
| (2-3 bars) of rock/pop/etc music, with some brief commentary. I
| guess I got distracted along the way. The output looked and
| sounded good though!
| dsubburam wrote:
| * What type of person uses this? I guess the intersection of
| people interested in composing and people able to typeset? I
| would have thought it wasn't that popular, but it has the
| polish of a popular tool. What am I missing?
|
| --I think people who play/practice musical instruments
| regularly, esp. in an ensemble, esp. in classical music (where
| the written notes are referred to a lot); to make arrangements,
| transcriptions, instrument parts, etc. out of the originals to
| perform for fun. I'dn't be surprised if programmer folks are
| overrepresented in this group. (I am one of them).
|
| * How similar is sheet music to source code? Does any software
| interpret it to output audio?
|
| --I'd like to say quite similar, but upon further thought,
| maybe not. e.g. In sheet music, there's no ready equivalent to
| functions taking arguments and returning values. Maybe the
| similarity is with compiled/machine code (which I am not
| familiar with).
|
| * How expressive is sheet music? How constrained do you feel
| trying to convey your idea onto this format? Does it support
| abstraction, or making your own abstractions?
|
| --It is quite expressive. Most musical material that people
| come up with in their minds will likely be adequately
| represented in sheet music. I haven't seen "user-defined" sheet
| music notation, which I think is what you may mean by
| abstractions. I suppose it could be done (and supported by
| LilyPond).
| araes wrote:
| > In sheet music, there's no ready equivalent to functions
| taking arguments and returning values.
|
| Sounds like an interesting idea for a music major somewhere.
| Plus, with conductor or local condition inputs, might make
| for entertaining sight reading. If sunny, && morning, play
| notes this way : If dusk || rain, play this way : play
| default.
| gpvos wrote:
| It has been used for large professional publications such as
| the 2013 Dutch protestant hymnal (>1000 songs, versions with
| and without accompaniment).
| bonzini wrote:
| I use it to typeset songs that my son wants to learn on the
| guitar. I can tailor the difficulty and add some "special"
| things based on what he's learning, for example customizing
| chords or changing the key signature.
|
| I also used it to typeset a simple song that I arranged and
| played at a funeral service. I could have written it by hand,
| but given I was a bit anxious about the performance it helped
| to have an extremely readable version.
|
| Writing lilypond source code is about the same difficulty as
| LaTeX. The midi output helps stomping out mistakes and it's
| easy to follow the source as it plays. Sheet music is pretty
| expressive, it's a good balance between showing what to play
| and how, and lilypond is about 1:1 with sheet music.
|
| That said in lilypond you can add some kind of abstraction
| through both macros and typesetter settings. For example it can
| calculate automatically which frets and strings correspond to
| notes, and generate guitar tablature (fret+string notation) and
| sheet music from the same source. Also, instead of specifying
| by hand how to play each note, you can basically tell lilypond
| "I want the left hand to be roughly here on the fretboard" and
| that affects the strings it tells the player to pluck.
| lioeters wrote:
| On a related note, VexFlow is a project for rendering music
| notation in the browser.
|
| https://github.com/vexflow/vexflow/
|
| OpenSheetMusicDisplay is a higher-level library that uses VexFlow
| to render entire MusicXML documents.
|
| https://github.com/opensheetmusicdisplay/opensheetmusicdispl...
| medler wrote:
| Recently made some chord flashcards in an experiment to see if it
| will improve my sight reading on piano.
|
| I originally planned to write a python script to generate
| Lilypond code for all the different chords I wanted, but found
| that Frescobaldi made it fast enough that I was able to generate
| them all manually. In retrospect I'm not sure the code would have
| panned out all that well because some of the chords needed manual
| fiddling.
|
| Then I loaded them all up into Anki and have been plugging away.
| If not for Lilypond I probably would have made real flashcards by
| hand and that would have been a big ordeal by comparison.
| paradox460 wrote:
| I've been using LilyPond for ages to typeset music, to the point
| where I find other tools cumbersome
|
| My current workflow is vscode, with a plug-in that handles auto
| compile and displays a PDF in an editor pane, and handles midi
| input from a small keyboard I've got next to my desk
| briffid wrote:
| I developed the most feature-rich editor for Lilypond (as a
| plugin for jEdit). It had midi, virtual keyboard, integrated pdf
| viewer, templates, snippets, autocomplete, lots of cool stuff. I
| also built an on-the-fly syntax checker. However, Lilypond
| development gradually turned to a direction that made it
| impossible to create a useful syntax checker. As you could
| actually change the language itself in your source file, by
| actually changing the enormous amount of Scheme code that
| provided the Lilypond features. So at the end one couldn't
| provide reliable edit time autocomplete or error checking,
| because they needed to actually run the Lilypond interpreter. So
| I gave up and switched to MuseScore. I even got time to create
| scores and learn my instruments :)
| oakesm9 wrote:
| Tantacrul's series on the design of music notation software is
| well worth a watch
| https://youtu.be/S-3wEC6Fj_8?si=YwamxToPTPHYet0M
| xpointer wrote:
| In 2009, I made Velato, an esolang where code is written in pitch
| values (https://github.com/rottytooth/Velato) encoded as MIDI
| files. So sort of the opposite of writing algorithmic music
| (where the human programmer writes music to satisfy conditions of
| the program). Before switching to LilyPond, I'd used GUIDO with a
| GUIDO-to-MIDI generator, but it was always awkward. Part of the
| challenge is that notes can be sounded simultaneously to make the
| score work better musically, but still need to appear in the
| correct sequence in the MIDI file for the program to succeed;
| something that LilyPond handles correctly. There's a transparency
| to how LilyPond functions that is not always there with programs
| that try to be "helpful" and clean-up or rearrange information.
| BashiBazouk wrote:
| I'm not a musician but have training as a printmaker so I was
| intrigued by the use of the term "engraved" to put down music on
| paper. Looks like the early reproduction of sheet music was the
| intaglio process of engraving the music into a metal plate and
| reproducing on an intaglio press, that is the ink is in the
| groves and the surface of the plate is wiped clean.
___________________________________________________________________
(page generated 2024-02-24 23:02 UTC)