This is a tool to create lyric books in several formats from a series of song files in the Open Lyrics format, which is an XML format for storing lyrics and metadata about songs.
The tool is written in Python 3 and uses Jinja2 for templating.
The Open Lyric format has been extended to include some additional metadata fields. These are:
recordings
- a list of recordings of the song.recording
- a recording of the song.title
- the title of the recordingartist
- the artist of the recordingurl
- a URL to the recording. This can be a YouTube URL, a SoundCloud URL, or any other URL that points to a recording of the song, including a URL to a file in a given directory.
The tool is run from the command line. Due to the number of options for each output format, the tool uses a configuration file to specify the options for each output format. The configuration file is a TOML file, and the default configuration file is config.yaml
. The configuration file can be specified using the -c
option.
The main command line options are:
--config
- the configuration file to use. The default isconfig.yaml
.--input
- the input directory containing the song files. The default issongs
.--output
- the output directory. The default isoutput
.--formats
- the output format(s). The default isall
. This can be a list of formats, orall
to output all formats.
The configuration file is a TOML file. The default configuration file is config.toml
. The configuration file contains a list of general options, output formats, and the options for each output format. A configuration file can have multiple output formats, including multiple output formats of the same type. For example, you can have both HTML and PDF output formats.
An example configuration file is available in examples/example_config.toml.
- HTML output