Skip to main content

A simple CLI program to add lyrics to your mp3 files.

Project description

Lyrify : music-tagger

Lyrify is a simple CLI program to add lyrics as well as other information from genius.com to your music. For now only .mp3 files are supported.

Install with:

pip install lyrify

To add lyrics to an album simply run sing with the --folder_path and --lyrics_url options. This also works with single songs, so if you use a direct link to a song's lyrics.

Album:

lyrify --folder_path "C:\Users\User\Music\BTS\BTS - BE" --lyrics_url https://genius.com/albums/Bts/Be

Single:

lyrify --folder_path "C:\Users\User\Music\Ed Sheeran\Afterglow" --lyrics_url https://genius.com/Ed-sheeran-afterglow-lyrics

If there are more songs on the album page than you have in your folder or if the order of the songs in your folder are not the same as in the album page, you have to use the --song_order flag to specify which tracks and in which order they are. Additional options include:

--artist        Adds the ARIST name to the mp3 files instead of 
                using the name found on the genius.com page.

--album_title   Adds the ALBUM_TITLE to the mp3 files instead 
                of using the album title found on the genius.com page.

--cover_size    An integer value specifying the size the downloaded 
                album/song cover should be (the default is 600 -> 600x600).

--song_order    The order of the songs as they are found in your folder_path. 
                If you are missing some songs, simply leave them out. Separate 
                track numbers by spaces or commas. Ranges are accepted (5-8).

Example of using --song_order if you only have songs 1, 2, 5, 6, 7, 8 of an album:

lyrify --folder_path "C:\Users\User\Music\Ed Sheeran\Divide" --lyrics_url https://genius.com/albums/Ed-sheeran/Divide --song_order 1, 2, 5-8

To use it in Python:

from lyrify.lyrics.genius import GeniusLyrics
from lyrify.music.music_tagger import MusicTagger

...

gl = GeniusLyrics(lyrics_url=lyrics_url, artist=artist, album_title=album, folder_path=folder, song_order=song_order, cover_size=cover_size)
gl.get_info()

mt = MusicTagger(folder_path, album=gl.album, order=song_order)
mt.tag_songs()

Check out the code on GitHub.

""" Change Log

1.0.0 (20/05/2021)

  • First Release """

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyrify-1.0.3.tar.gz (11.1 kB view details)

Uploaded Source

File details

Details for the file lyrify-1.0.3.tar.gz.

File metadata

  • Download URL: lyrify-1.0.3.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.20.1 requests-toolbelt/0.9.1 tqdm/4.24.0 CPython/3.7.1

File hashes

Hashes for lyrify-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b0c5e14eba92b95ae47370bed3e5283013369daf4789443efa85214c2ab2e313
MD5 8f093ac221b6e4108935ffda0bd0a16e
BLAKE2b-256 59715279e10bda858048bbe2dce67cd1bbeca59ca47c02f1f70065636471fc5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page