Skip to main content

🎼 lyricy

A command line lyrics utility tool which search and add lyrics to your offline songs.

PyPi Downloads GitHub stars GitHub forks GitHub license Code style GitHub Repo size Upload lyricy to pypi Python package

Why lyricy ?

We can use spotDL/spotify-downloader to download our spotify playlist and songs along with album art and metadata. But it does not add the lyrics of the songs in song metadata. lyricy search for the lyrics of the song add to song metadata.

you can use Retro music player for android to listen the offline local songs with synced lyrics.

Features

  • Used as a Python package and Command Line Interface (CLI)
  • Easy to add lyrics to your offline songs
  • Preview of lyrics
  • Synced lyrics with lrc time tags
  • Lyrics without lrc tags
  • Save lyrics as lrc file
  • Add your own lyrics or downloaded lyrics to songs

Usage

CLI

Installation

Using pip

pip install lyricy

Windows user download this executable file

demo

Usage: python -m lyricy [OPTIONS] COMMAND [ARGS]...

  A command line lyrics utility tool which search and add lyrics to your
  offline songs.

Options:
  --help  Show this message and exit.

Commands:
  add     Search and add lyrics to given TRACK.
  remove  Remove lyrics from given TRACK.
  search  Search for lyrics for given track or query
  show    Show the lyrics of TRACK if available.

Searching for lyrics using your queries

Usage: python -m lyricy search [OPTIONS]

  Search for lyrics for given track or query

Options:
  -t, --track PATH       file path of track
  -d, --disable-preview  Disable the preview
  -l, --only-lyrics      Show Lyrics Only (without LRC tag)
  -s, --save TEXT        Save file as .lrc
  -q, --query TEXT       search query of track name
  -p, --provider TEXT    Lyrics provider name [rc] or [mo]
  --help                 Show this message and exit.
lyricy search --query "jolly yo gymkanna"

Searching for lyrics for your track

Track must have album metadata title

lyricy search --track 'Imagine Dragons - Believer.mp3'

After searching it print list of lyrics, enter the index number lyrics to get the full lyrics

Adding lyrics

Adding lyrics to track metadata to get synced lyrics

Usage: python -m lyricy add [OPTIONS] TRACK

  Search and add lyrics to given TRACK.

  TRACK can be the filepath of a track or a directory path.

Options:
  -q, --query TEXT       search for this query instead of track name
  -d, --disable-preview  Disable the preview
  --show                 Print the lyrics and ask for confirmation
  --lrc PATH             Lyrics file to add on track
  -p, --provider TEXT    Lyrics provider name: [lr] (LRCLIB), [bl] (BetterLyrics), [rc] (RcLyricsBand), or [mo] (Megalobiz)
  -r, --recursive        Recursively process directories
  -a, --auto             Auto-match and save lyrics without prompting
  --help                 Show this message and exit.
lyricy add 'Imagine Dragons - Believer.mp3'

Select the preferred lyrics for the song to add it.

If the track does not have metadata title or has an irrelevant filename, you can use the --query option to override this:

lyricy add 'some-track.mp3' --query "vikram title track"

Flagship Automation (Bulk Tagging & Auto-Match)

You can recursively tag an entire directory of tracks and automatically match/save lyrics using the default smart fallback chain without any interactive prompting:

lyricy add --recursive --auto ./my_music_directory/

Changing lyrics provider

By default, the lyrics provider uses a smart fallback chain starting with LRCLIB (our flagship premium provider). You can manually lock it to a specific provider:

lyricy add 'some-track.mp3' --query "vikram title track" --provider bl
lyricy search --query "karka kark" --provider lr

Remove lyrics

Usage: lyricy remove [OPTIONS] TRACK

  Remove lyrics from given TRACK.

  TRACK is the filepath of track.

Options:
  --help  Show this message and exit.
lyricy remove 'Imagine Dragons - Believer.mp3'

Show lyrics

Usage: lyricy show [OPTIONS] TRACK

  Show the lyrics of TRACK if available.

  TRACK is the filepath of track.

Options:
  -l, --only-lyrics  Show Lyrics Only (without LRC tag)
  --help             Show this message and exit.
lyricy show 'Imagine Dragons - Believer.mp31

Downloading lrc file

lyricy search --query "new york" --save "new_york"

This search and ask for the prompt, select any song it will download and save as lrc file

Add lrc file to song

lyricy add track.mp3 --lrc track.lrc

It will add the lyrics to song metadata

Python Package

Install

Using pip

pip install lyricy

Simple Usage

>>> from lyricy import Lyricy

>>> l = Lyricy()
>>> results = l.search("karka karka")
>>> selected_lyrics = results[0]
>>> selected_lyrics.fetch()

>>> selected_lyrics.lyrics
>>> selected_lyrics.lyrics_without_lrc_tags

Saving and adding lyrics to track

>>> selected_lyrics.save("lyrics.lrc")
>>> selected_lyrics.add_to_track("path_to_track.mp3")

Using Other Providers

By default, the provider is LRCLIB (Providers.LRCLIB), but you can specify other providers like Providers.BETTERLYRICS, Providers.RCLYRICSBAND, or Providers.MEGALOBIZ.

>>> from lyricy import Lyricy, Providers

>>> l = Lyricy()
>>> results = l.search("vikram", provider=Providers.BETTERLYRICS)
>>> selected_lyrics = results[0]
>>> selected_lyrics.fetch()

>>> selected_lyrics.lyrics
>>> selected_lyrics.lyrics_without_lrc_tags

Dev Setup

  • Clone repo
  • Install package requirements
pip install -r requirements
  • Install dev requiremnts
pip install black flake8 pytest
  • Linting
black
flake8 -v
  • Test
pytest -v

Lyrics Providers

Contributions

Contributions are Welcome. Feel free to report bugs in issue and fix some bugs by creating pull requests. Comments, Suggestions, Improvements and Enhancements are always welcome.

Metadata

Release files for lyricy 1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lyricy 1.5
File Size Uploaded Provenance Actions
lyricy-1.5.tar.gz 16.6 kB With provenance Details for lyricy-1.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lyricy 1.5
File Interpreter ABI Platform Actions
lyricy-1.5-py3-none-any.whl Python 3 none any Details for lyricy-1.5-py3-none-any.whl

Total release size: 32.2 kB

Release files / lyricy-1.5.tar.gz

Download URL lyricy-1.5.tar.gz
Size 16.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c7c8a743dbe86cbe82b21f63908f335cd1c3f75aacacce48aa6e1560959e77ca
BLAKE2b-256 checksum
How to use checksums
4b210a807ba0f2372e7c7bf8b9070e984bb78807097d780675c5ef267ef379c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 28, 2026.

Transparency log

Release files / lyricy-1.5-py3-none-any.whl

Download URL lyricy-1.5-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d17578572890fc6bb808bf0a8d62d3c2465ceb8baebfac9381716f036305a0b9
BLAKE2b-256 checksum
How to use checksums
f3842307bc3bde715db3a27aad5aac5de45c0d55ca6a7135b05293e57edc7985
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 28, 2026.

Transparency log

Security for lyricy 1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lyricy-1.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page