All Projects → SwagLyrics → Swaglyrics For Spotify

SwagLyrics / Swaglyrics For Spotify

Licence: mit
📃 Get lyrics of currently playing Spotify song so you don't sing along with the wrong ones and embarrass yourself later. Very fast.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Swaglyrics For Spotify

Lyricfier
a Spotify Lyrics alternative app | New updates at https://github.com/emilioastarita/lyricfier2 (a faster version in golang)
Stars: ✭ 598 (+154.47%)
Mutual labels:  spotify, lyrics, songs
larafy
Larafy is a Laravel package for Spotify API. It is more like a wrapper for the Spotify API.
Stars: ✭ 53 (-77.45%)
Mutual labels:  spotify, package, songs
Alltomp3
Node module to download and convert in MP3 with tags an online video
Stars: ✭ 120 (-48.94%)
Mutual labels:  spotify, lyrics, songs
Alltomp3 App
Download and Convert YouTube, SoundCloud & Spotify in MP3 with full tags (title, artist, genre, cover, lyrics 🔥)
Stars: ✭ 920 (+291.49%)
Mutual labels:  application, spotify, lyrics
Vidify
Play music videos automatically for the songs playing on any device
Stars: ✭ 95 (-59.57%)
Mutual labels:  spotify, lyrics
Lyricist
Genius.com API client with lyrics scraping 🎶🎤👨‍🎤
Stars: ✭ 93 (-60.43%)
Mutual labels:  lyrics, songs
Carol Xamarin
A minimal and beautiful lyrics app for macOS built with Xamarin and C#
Stars: ✭ 97 (-58.72%)
Mutual labels:  spotify, lyrics
Ni Pyt
Materiály k předmětu NI-PYT na FIT ČVUT
Stars: ✭ 112 (-52.34%)
Mutual labels:  flask, requests
8d Audio
Some dsp to make songs "8D"
Stars: ✭ 43 (-81.7%)
Mutual labels:  flask, songs
Getsong
Download any song mp3 with no dependencies except ffmpeg
Stars: ✭ 102 (-56.6%)
Mutual labels:  spotify, songs
Elm Doc Preview
Elm offline documentation previewer
Stars: ✭ 113 (-51.91%)
Mutual labels:  application, package
Lirik.app
Shows lyrics for currently playing song in your Spotify account.
Stars: ✭ 93 (-60.43%)
Mutual labels:  spotify, lyrics
Gaanaapi
Unofficial Gaana API
Stars: ✭ 59 (-74.89%)
Mutual labels:  flask, songs
Autoline
建议你使用更新的AutoLink平台
Stars: ✭ 227 (-3.4%)
Mutual labels:  flask, requests
Lyrics Crawler
Get the lyrics for the song currently playing on Spotify
Stars: ✭ 49 (-79.15%)
Mutual labels:  spotify, lyrics
Lyrics
📄 Open Lyrics Database
Stars: ✭ 106 (-54.89%)
Mutual labels:  lyrics, songs
Spotify Lyrics
🎉 Desktop Spotify Web Player Instant Synchronised Lyrics
Stars: ✭ 162 (-31.06%)
Mutual labels:  spotify, lyrics
Spotifylyrics
Fetches and displays lyrics to currently playing song in Spotify, Tidal and VLC.
Stars: ✭ 171 (-27.23%)
Mutual labels:  spotify, lyrics
Genius Spicetify
Fetch lyrics from Genius and Musixmatch right in Spotify desktop client
Stars: ✭ 198 (-15.74%)
Mutual labels:  spotify, lyrics
Pymap webapp
A webapp version for Raster Map Download Helper
Stars: ✭ 34 (-85.53%)
Mutual labels:  flask, requests

SwagLyricsSwagLyrics-For-Spotify

Discord Server Build Status Build Status PyPI Arch User Repository Downloads

Fetches the currently playing song from Spotify on Windows, Linux and macOS and displays the lyrics in the command-line, browser tab or in a desktop application. Refreshes automatically when song changes. The lyrics are fetched from Genius. Turns out Deezer already has this feature in-built but with swaglyrics, you can have it in Spotify as well.

I'm mainly trying to build this project as far as I can, for practice and to learn and work with more technologies and platforms.

Initially developed this for personal use. Pretty much functionality oriented -- I usually develop something that I can see helping me and other users in the same situation. Packaged so I can first hand handle production-ready code to an extent and to make distribution and usage easier.

Why SwagLyrics?

SwagLyrics is the fastest and the most accurate package for getting lyrics.1

Provided optimal internet, SwagLyrics can fetch lyrics for a track in as less as 0.28s.2

It also does not require the user to generate any sort of API token (Spotify or Genius) and serves functionality right off the bat. This is possible as the song identification is done using our in-house library SwSpotify which does it locally for all operating systems.

The enhanced user experience is possible due to the backend which manages creating issues for unsupported songs and then adding support for them where possible by employing various techniques. Any song with lyrics on Genius can be supported without any user interaction owing to the backend. If say, lyrics do not exist for a track then subsequent playings of that track will not waste your resources in trying to fetch lyrics, this is done by a master list of unsupported songs which is handled by the backend as well.

1. [results] Tested against LyricsGenius, the most popular similar package on the US Top 50 Chart on Spotify. SwagLyrics was fractionally more accurate and 2.4x times faster.
2. [results] Speed and accuracy benchmark using Google Colab on the Spotify US Top 50 chart.

Installation

Requires Python 3.6+. Use pip or pip3 depending on your installation. You might want to use the --user flag on Linux to avoid using pip as root.

pip install swaglyrics

Arch Linux

Arch Linux users can directly install SwagLyrics from AUR (swaglyricsAUR). Using yay:

yay -S swaglyrics

Nix

Nix users on any Linux distro and NixOS can install SwagLyrics from Nixpkgs.

nix-env -i swaglyrics

Usage

usage: swaglyrics [-h] [-t] [-c] [-n]

Either the tab or cli argument is required to output lyrics.

Arguments:

  -h, --help      show this help message and exit       
  -t, --tab       Display lyrics in a browser tab.      
  -c, --cli       Display lyrics in the command-line.   
  -n, --no-issue  Disable issue-making on cli.

You can quit by pressing Ctrl+C.

Before using, you should check USING.txt to comply with the Genius ToS. There's a copy included inside the package as well.

Note: If you have trouble displaying Japanese/Chinese characters on the command-line, simply type chcp 936 to change your code page. List of code pages can be found here: https://en.wikipedia.org/wiki/Code_page

Community

Changelog

  • v1.2.0

    • Add Genius A/B support
    • Add support for Bollywood songs
    • Add update check only once per 24h
    • Add parameter to force update check

See CHANGES.md for prior release notes.

Compiling SwagLyrics for Development

  • Clone the repo by git clone https://github.com/SwagLyrics/SwagLyrics-For-Spotify.git or use ssh.
  • cd into the cloned repo.
  • pip install -e . the -e flag installs it locally in editable mode.

Improvements Planned

  1. Linux and macOS support done
  2. Better logging of unsupported songs, the isolated unsupported.txt is sub-optimal for multiple users since the file will only update locally with songs which worked fine when it was just me but since I hope others use it too, I'll try to add a better method with server support.
  3. Better tests to test all of the functionality. (cli.py fully tested!) 100% code coverage
  4. Perhaps a tiny app using Electron that could fit in your tray to be opened whenever you want lyrics for a song.
  5. Supporting more songs, currently the program sometimes fails at remixes since while the lyrics are same as original, the artist is the remixer. done
  6. Documenting all the files.

SwagLyrics on Windows with Terminal

SwagLyrics with Hyper

SwagLyrics on Windows with Firefox Side-View

SwagLyrics with Side-View

Screencast - SwagLyrics on Linux

Watch the video

Screencast - SwagLyrics on macOS

Watch the video

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].