[HN Gopher] LilyPond: Music notation for everyone
       ___________________________________________________________________
        
       LilyPond: Music notation for everyone
        
       Author : tosh
       Score  : 57 points
       Date   : 2024-02-22 10:22 UTC (1 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 ;)
        
       | 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.
        
         | 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.
        
       | 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.
        
       | 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)
        
       | 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....
        
         | 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.
        
         | 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
        
       | 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. But I'm used to code.
        
       | 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'.
        
       | 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 ...
        
       ___________________________________________________________________
       (page generated 2024-02-23 23:00 UTC)