Last Updated : 15 Jul, 2025
In this article, we are going to write a python script to extract lyrics from the song and bind with its GUI application. We will use lyrics-extractor to get lyrics of a song just by passing in the song name, it extracts and returns the song's title and song lyrics from various websites. Before starting, install the lyrics-extractor module. Run this command into your terminal.
pip install lyrics-extractorRequirements
Need an API Key and Engine ID of Google Custom Search JSON API.
Engine ID
Choose any link of one to get your search engine:
https://genius.com/
https://lyricsted.com/
http://www.lyricsbell.com/
https://glamsham.com/
http://www.lyricsoff.com/
https://lyricsmint.com/
JSON API :
Approach:
from lyrics_extractor import SongLyrics
extract_lyrics = SongLyrics(Your_API_KEY, GCS_ENGINE_ID)
extract_lyrics.get_lyrics("Shape of You")
Below is the implementation.
Python
# importing modules
from lyrics_extractor import SongLyrics
# pass the GCS_API_KEY, GCS_ENGINE_ID
extract_lyrics = SongLyrics("AIzaSewfsdfsdfOq0oTixw","frewrewrfsac")
extract_lyrics.get_lyrics("Tujhse Naraz Nahi Zindagi Lyrics")
Output:
Note: Enter your own API key and engine id otherwise it will generate an error.
Extract lyrics Application with Tkinter:
Python
# import modules
from tkinter import *
from lyrics_extractor import SongLyrics
# user defined function
def get_lyrics():
extract_lyrics = SongLyrics(
"Aerwerwefwdssdj-nvN3Oq0oTixw", "werwerewcxzcsda")
temp = extract_lyrics.get_lyrics(str(e.get()))
res = temp['lyrics']
result.set(res)
# object of tkinter
# and background set to light grey
master = Tk()
master.configure(bg='light grey')
# Variable Classes in tkinter
result = StringVar()
# Creating label for each information
# name using widget Label
Label(master, text="Enter Song name : ",
bg="light grey").grid(row=0, sticky=W)
Label(master, text="Result :",
bg="light grey").grid(row=3, sticky=W)
# Creating label for class variable
# name using widget Entry
Label(master, text="", textvariable=result,
bg="light grey").grid(row=3, column=1, sticky=W)
e = Entry(master, width=50)
e.grid(row=0, column=1)
# creating a button using the widget
b = Button(master, text="Show",
command=get_lyrics, bg="Blue")
b.grid(row=0, column=2, columnspan=2,
rowspan=2, padx=5, pady=5,)
mainloop()
Note: Enter your own API key and engine id otherwise it will generate an error.
Output:
Create a GUI to Extract Lyrics From Song Using Python
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4