Get an LRC format (synchronized) lyrics for your music with aiohttp support.
pip install syncedlyrics_aio
syncedlyrics_aio "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.
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. |
-d |
The duration of track in ms. Keep default if unknow. Only for netease and tencent |
-m |
Max deviation for lyrics in ms, ignore if duration is default |
import syncedlyrics_aio
loop = asyncio.get_event_loop()
lrc = loop.run_until_complete(syncedlyrics_aio.search("[TRACK_NAME] [ARTIST_NAME]"))
if lrc:
print(lrc)
Or with options:
syncedlyrics_aio.search("...", plain_only=True, save_path="{search_term}_1234.lrc", providers=["NetEase"], duration=213000)
- Musixmatch
Deezer(Currently not working anymore)- Lrclib
- NetEase
- Megalobiz
- Genius (For plain format)
Lyricsify(Broken duo to Cloudflare protection)- Tencent
Feel free to suggest more providers or make PRs to fix the broken ones.
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}},
}