#lyrics #metadata #tags #audio-metadata #source #file-metadata

app lyr

A tool to download and embed lyrics from multiple sources

3 releases (breaking)

0.3.0 Jul 23, 2024
0.2.0 Oct 14, 2022
0.1.0 Oct 2, 2022

#411 in Audio

MIT/Apache

25KB
413 lines

Lyr

GitHub Workflow Status Downloads Version

Download and embed lyrics from multiple sources.

Sources

NOTE: Genius currently has an issue where there will be missing newlines between section headers, so the output may look like:

[Verse 1]
Foo
Bar Baz
Qux
[Chorus] # Notice this header immediately follows the last line of Verse 1

Not sure how to fix this as of now.

Usage

Fetch and print the lyrics to stdout:

$ lyr --artist="2Pac" --title="Changes"

Try to get the artist and title from the tags in the file:

For the list of supported files see lofty-rs.

# NOTE: This will add the lyrics to the tags of the file
$ lyr --input="some-music-file.mp3"
# Use the `no-embed` flag to prevent this
$ lyr --input="some-music-file.mp3" --no-embed

Output the lyrics to a file:

$ lyr --artist="2Pac" --title="Changes" lyrics.txt

Config

This config is stored at $CONFIG_DIR/lyr/config.toml.

# Default flags to append to every command
flags = ''
# The list of fetchers to use when searching for lyrics
fetchers = ['AZLyrics', 'Genius', 'JahLyrics', 'Musixmatch']

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~9–22MB
~308K SLoC