Metadata-Version: 2.1 Name: syncedlyrics Version: 1.0.1 Summary: Get an LRC format (synchronized) lyrics for your music Home-page: https://github.com/rtcq/syncedlyrics License: MIT Author: Momo Author-email: lo3me@proton.me Requires-Python: >=3.8 Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Topic :: Multimedia :: Sound/Audio Classifier: Topic :: Multimedia :: Sound/Audio :: Players Classifier: Topic :: Multimedia :: Sound/Audio :: Speech Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0) Requires-Dist: rapidfuzz (>=3.6.2,<4.0.0) Requires-Dist: requests (>=2.31.0,<3.0.0) Project-URL: Bug Tracker, https://github.com/rtcq/syncedlyrics/issues Project-URL: Repository, https://github.com/rtcq/syncedlyrics Description-Content-Type: text/markdown # syncedlyrics Get an LRC format (synchronized) lyrics for your music. [![Downloads](https://static.pepy.tech/badge/syncedlyrics/month)](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}}, } ```