/nepenthe

A Lilypond Preprocessor

Primary LanguageJavaScriptMIT LicenseMIT

Nepenthe - A Lilypond Preprocessor

Nepenthe (nuh·pen·thee) is a preprocessor for Lilypond music notation which uses its own document format to sidestep some of the tricker and/or harder-to-remember aspects of arranging and formatting music in Lilypond. You know, the stuff you have to look up every time.

Nepenthe documents are a hybrid of YAML and Lilypond, with a little bit of Handlebars thrown in, although you don't need to know Handlebars to use Nepenthe.

Example

This Nepenthe document:

---
version: 2.20.0
title: A Simple Nepenthe Score
composer: Johann Gambolputty
---
\relative { c'4 e e8 g c4 | g2 c2  }

...becomes this Lilypond document:

\version "2.20.0"

% Preprocessed by Nepenthe v0.0.1
% <https://tinpan-io.github.io/nepenthe/>

\header {
title = "A Simple Nepenthe Score"
composer = "Johann Gambolputty"
tagline = \markup {\with-url #"https://tinpan-io.github.io/nepenthe/" "Pre-processed with Nepenthe"}
}
%#############################################################################%
\score {


    <<
                %-- Begin part1-staff
                    \new Staff \with {
                    
                    
                    
                        \override StringNumber #'stencil = ##f           
                        \override StringNumber #'transparent = ##t
                        \clef "treble"
                }
                
                    {        
                        
                \relative { c'4 e e8 g c4 | g2 c2  }
                
                    }
                
                %-- End part1-staff
                
    >>
    \layout {}
    
}

Who is this For?

If you're fairly comfortable with Lilypond and prefer its What-You-See-Is-What-You-Meant approach for musical notation to using a GUI tool like MuseScore, but constantly find yourself looking up where certain instructions go and/or or find yourself jumping through hoops to take the same sections of notation and output them in different formats (Notation only / Tab only / Notation + Tab, etc.) then you may like Nepenthe.

Installation

Requirements

  • Node.js
  • lilypond (If you want to actually engrave the Lilypond files generated by Nepenthe)

Installing with npm

Once you have Node.js installed, the most convenient way to install Nepenthe is with Node Package Manager. Open a terminal window and type:

npm install -g nepenthe

Installing from source

You can clone the Nepenthe git repository or download source code at https://github.com/tinpan-io/nepenthe.

Checking your installation

To confirm that Nepenthe has been installed, type:

nepenthe -h

Nepenthe should display a help message.

Source Code/Bug Reports

Visit the Nepenthe Github project page to access source code or submit issues.