All Projects → johnwmillr → Lyricsgenius

johnwmillr / Lyricsgenius

Licence: mit
Download song lyrics and metadata from Genius.com 🎶🎤

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Lyricsgenius

Cider
A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind. 🚀
Stars: ✭ 3,146 (+494.71%)
Mutual labels:  lyrics
Refresh-Music-Player
A beautifully designed music player app for android.
Stars: ✭ 22 (-95.84%)
Mutual labels:  lyrics
Bopscrk
Tool to generate smart and powerful wordlists
Stars: ✭ 273 (-48.39%)
Mutual labels:  lyrics
amplyfm
A free and open-source web app for streaming music.
Stars: ✭ 46 (-91.3%)
Mutual labels:  lyrics
metal dataset
metal lyrics and band names dataset (raw)
Stars: ✭ 19 (-96.41%)
Mutual labels:  lyrics
LycricsTextView
No description or website provided.
Stars: ✭ 14 (-97.35%)
Mutual labels:  lyrics
genius-lyrics-api
A library for fetching song lyrics & album art from genius.com 🎶🌈
Stars: ✭ 129 (-75.61%)
Mutual labels:  lyrics
Musicmood
A machine learning approach to classify songs by mood.
Stars: ✭ 388 (-26.65%)
Mutual labels:  lyrics
BeatSinger
Beat Saber plugin for displaying floating lyrics while playing the game.
Stars: ✭ 40 (-92.44%)
Mutual labels:  lyrics
Lyrics King React Native
Lyrics King is React Native song lyrics search app, built with Expo. Designed with Adobe XD.
Stars: ✭ 261 (-50.66%)
Mutual labels:  lyrics
givemelyrics
See the lyrics of the song that is playing, from any application.
Stars: ✭ 52 (-90.17%)
Mutual labels:  lyrics
textalive-app-dance
3Dモデルを使った複雑な処理を含むTextAlive App APIの作例
Stars: ✭ 18 (-96.6%)
Mutual labels:  lyrics
MrPlayer
This is Mp3 Player made on python
Stars: ✭ 23 (-95.65%)
Mutual labels:  lyrics
NeteaseLyric
网易云音乐歌曲的歌词分享图片生成脚本
Stars: ✭ 56 (-89.41%)
Mutual labels:  lyrics
React Music Player
🎵 Maybe the best beautiful HTML5 responsive player component for react :)
Stars: ✭ 321 (-39.32%)
Mutual labels:  lyrics
SpotiSharp
Cross-platform music assistant
Stars: ✭ 22 (-95.84%)
Mutual labels:  lyrics
billboard
🎤 Lyrics/associated NLP data for Billboard's Top 100, 1950-2015.
Stars: ✭ 53 (-89.98%)
Mutual labels:  lyrics
Quicklyric
Android app that instantly fetches your lyrics for you.
Stars: ✭ 413 (-21.93%)
Mutual labels:  lyrics
Lrc Maker
歌词滚动姬|可能是你所能见到的最好用的歌词制作工具
Stars: ✭ 329 (-37.81%)
Mutual labels:  lyrics
spotify-lyrics-cli
Migrated to Gitlab, this Github repo will not receive updates.
Stars: ✭ 57 (-89.22%)
Mutual labels:  lyrics

LyricsGenius: a Python client for the Genius.com API

Build Status Documentation Status PyPI version Python version

lyricsgenius provides a simple interface to the song, artist, and lyrics data stored on Genius.com.

The full documentation for lyricsgenius is available online at Read the Docs.

Setup

Before using this package you'll need to sign up for a (free) account that authorizes access to the Genius API. The Genius account provides a access_token that is required by the package. See the Usage section below for examples.

Installation

lyricsgenius requires Python 3.

Use pip to install the package from PyPI:

pip install lyricsgenius

Or, install the latest version of the package from GitHub:

pip install git+https://github.com/johnwmillr/LyricsGenius.git

Usage

Import the package and initiate Genius:

import lyricsgenius
genius = lyricsgenius.Genius(token)

If you don't pass a token to the Genius class, lyricsgenus will look for an environment variable called GENIUS_ACCESS_TOKEN and attempt to use that for authentication.

genius = Genius()

Search for songs by a given artist:

artist = genius.search_artist("Andy Shauf", max_songs=3, sort="title")
print(artist.songs)

By default, the search_artist() only returns songs where the given artist is the primary artist. However, there may be instances where it is desirable to get all of the songs that the artist appears on. You can do this by setting the include_features argument to True.

artist = genius.search_artist("Andy Shauf", max_songs=3, sort="title", include_features=True)
print(artist.songs)

Search for a single song by the same artist:

song = artist.song("To You")
# or:
# song = genius.search_song("To You", artist.name)
print(song.lyrics)

Add the song to the artist object:

artist.add_song(song)
# the Artist object also accepts song names:
# artist.add_song("To You")

Save the artist's songs to a JSON file:

artist.save_lyrics()

Searching for an album and saving it:

album = genius.search_album("The Party", "Andy Shauf")
album.save_lyrics()

There are various options configurable as parameters within the Genius class:

genius.verbose = False # Turn off status messages
genius.remove_section_headers = True # Remove section headers (e.g. [Chorus]) from lyrics when searching
genius.skip_non_songs = False # Include hits thought to be non-songs (e.g. track lists)
genius.excluded_terms = ["(Remix)", "(Live)"] # Exclude songs with these words in their title

You can also call the package from the command line:

export GENIUS_ACCESS_TOKEN="my_access_token_here"
python3 -m lyricsgenius --help

Search for and save lyrics to a given song and album:

python3 -m lyricsgenius song "Begin Again" "Andy Shauf" --save
python3 -m lyricsgenius album "The Party" "Andy Shauf" --save

Search for five songs by 'The Beatles' and save the lyrics:

python3 -m lyricsgenius artist "The Beatles" --max-songs 5 --save

Example projects

Contributing

Please contribute! If you want to fix a bug, suggest improvements, or add new features to the project, just open an issue or send me a pull request.

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].