https://github.com/moehmeni/syncedlyrics
Get an LRC format (synchronized) lyrics for your music
https://github.com/moehmeni/syncedlyrics
lrc lyrics lyrics-fetcher lyrics-finder lyrics-search music music-bot music-player synced-lyrics synchronization
Last synced: about 1 year ago
JSON representation
Get an LRC format (synchronized) lyrics for your music
- Host: GitHub
- URL: https://github.com/moehmeni/syncedlyrics
- Owner: moehmeni
- License: mit
- Created: 2022-11-26T19:41:35.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-28T09:46:41.000Z (almost 2 years ago)
- Last Synced: 2025-03-12T05:03:53.435Z (over 1 year ago)
- Topics: lrc, lyrics, lyrics-fetcher, lyrics-finder, lyrics-search, music, music-bot, music-player, synced-lyrics, synchronization
- Language: Python
- Homepage:
- Size: 177 KB
- Stars: 339
- Watchers: 6
- Forks: 28
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# syncedlyrics
Get an LRC format (synchronized) lyrics for your music.
[](https://pepy.tech/project/syncedlyrics)
## 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](#providers) to include in searching |
| `-l` | Language code of the translation ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) 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](https://en.wikipedia.org/wiki/LRC_(file_format)#A2_extension:_word_time_tag) (word-level karaoke) format. If it isn't available, search for regular synced lyrics.
### Python
```py
# 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
- [Musixmatch](https://www.musixmatch.com/)
- ~~[Deezer](https://deezer.com/)~~ (Currently not working anymore)
- [Lrclib](https://github.com/tranxuanthang/lrcget/issues/2#issuecomment-1326925928)
- [NetEase](https://music.163.com/)
- [Megalobiz](https://www.megalobiz.com/)
- [Genius](https://genius.com) (For plain format)
- ~~[Lyricsify](https://www.lyricsify.com/)~~ (Broken duo to Cloudflare protection)
Feel free to suggest more providers or make PRs to fix the broken ones.
## License
[MIT](https://github.com/rtcq/syncedlyrics/blob/master/LICENSE)
## 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}},
}
```