Skip to content

Get an LRC format (synchronized) lyrics for your music

License

Notifications You must be signed in to change notification settings

moehmeni/syncedlyrics

Repository files navigation

syncedlyrics

Get an LRC format (synchronized) lyrics for your music.

Downloads

Installation

pip install syncedlyrics

Usage

CLI

syncedlyrics "SEARCH_TERM"

By default, this will prefer time synced lyrics, but use plaintext lyrics, if no synced lyrics are available. To only allow one type of lyrics specify --plain-only or --synced-only respectively.

Available Options

Flag Description
-o Path to save .lrc lyrics, default="{search_term}.lrc"
-p Space-separated list of providers to include in searching
-l Language code of the translation (ISO 639-1 format)
-v Use this flag to show the logs
--plain-only Only look for plain text (not synced) lyrics
--synced-only Only look for synced lyrics
--enhanced Searches for an Enhanced (word-level karaoke) format. If it isn't available, search for regular synced lyrics.

Python

# This simple
lrc = syncedlyrics.search("[TRACK_NAME] [ARTIST_NAME]")

# Or with options:
syncedlyrics.search("...", plain_only=True, save_path="{search_term}_1234.lrc", providers=["NetEase"])

# Get a translation along with the original lyrics (separated by `\n`):
syncedlyrics.search("...", lang="de")

# Get a word-by-word (karaoke) synced-lyrics if available
syncedlyrics.search("...", enhanced=True)

Providers

Feel free to suggest more providers or make PRs to fix the broken ones.

License

MIT

Citation

If you use this library in your research, you can cite as follows:

@misc{syncedlyrics,
  author = {Momeni, Mohammad},
  title = {syncedlyrics},
  year = {2022},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/moehmeni/syncedlyrics}},
}