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.
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 {}
}
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.
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
You can clone the Nepenthe git repository or download source code at https://github.com/tinpan-io/nepenthe.
To confirm that Nepenthe has been installed, type:
nepenthe -h
Nepenthe should display a help message.
Visit the Nepenthe Github project page to access source code or submit issues.