Skip to main content

No project description provided

Project description

lrcdl

lrcdl is a command-line tool for fetching lyrics from audio files using https://lrclib.net.

Installation

pip install lrcdl

Basic Usage

Download lyrics (.lrc) from a track:

lrcdl song.mp3

By default, lrcdl will only download timed lyrics if they're found. To include plain, non-timed lyrics, use the --include-plain flag:

lrcdl song.mp3 --include-plain

Which will download plain lyrics only if timed ones were not found.

Supplying metadata

lrcdl relies on the metadata inside the audio track to find lyrics. In cases where the audio file does not have enough metadata, you can manually fill them in using the following parameters: --title, --album, --artist

Example:

lrcdl "Ghost Division.flac" --title "Ghost Division" --album "The Art of War" --artist Sabaton

Downloading lyrics for entire music library

If you have a music library and you want to download lyrics for all tracks, you can use the -r/--recursive option while specifying a directory as the path:

lrcdl /PATH/TO/MUSIC -r

Note that lrcdl will skip files that already have an LRC file and will not overwrite them.

This command can be safely setup as a scheduled task or a cron job to download lyrics on a nightly basis, however if you have a lot of tracks in your library which lrcdl cannot find lyrics for, then lrcdl will continue to try and download lyrics for them on every run.

To improve performance and avoid unnecessary strain on lrclib's servers, you're highly advised to specify a cache file to skip already-checked files on the next run:

lrcdl /PATH/TO/MUSIC/ -r --cache /PATH/TO/CACHE/cache.txt

Python API

To use within Python:

from lrcdl import Track, Options


track = Track("/path/to/song.mp3")

options = Options()
# or specify a path
options = Options(download_path="/path/file.lrc")

track.download_lyrics(options)

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

lrcdl-0.2.7.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lrcdl-0.2.7-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file lrcdl-0.2.7.tar.gz.

File metadata

  • Download URL: lrcdl-0.2.7.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/6.1.0-23-amd64

File hashes

Hashes for lrcdl-0.2.7.tar.gz
Algorithm Hash digest
SHA256 da92af3d174bf186dc9c8008b3ae8f9c13c3e377b7c426b4d977d48a3a95cca5
MD5 4054665b6d614eb6a3e402a5fa3b5343
BLAKE2b-256 b4c7a944e4d0054f62391b1e411adc6e537c86bd9f37874f3698b47aa37b003a

See more details on using hashes here.

File details

Details for the file lrcdl-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: lrcdl-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/6.1.0-23-amd64

File hashes

Hashes for lrcdl-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ed0a32077011d269b6deb6eed63e6859eec624f45fc2823acb179cfbd7b04d6c
MD5 4bd2c9a9f2d4afcad5dcb503f537f870
BLAKE2b-256 303eea8e2ba2b46c3ec5c56400b21bf4db2750a4bbd050543cac85a394bf2c3a

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