Or Get Latest Release from Github
![]() |
![]() |
---|---|
![]() |
![]() |
![]() |
![]() |
- Search Lyrics
- Download Lyrics
- Share Lyrics
- Customisations
- Auto-fill current playing song in search
- Synced Lyrics
- Batch download lyrics
- Import and Export saved lyrics
Spotify removed its feature to see and share lyrics from its free tier just to bring it back again. So, I made this app to get and store lyrics for my favorite songs from Genius and share them like Spotify, all in Material 3 look. As an audiophile, This has now become my way to listen to complete albums with lyrics without dealing with genius's "UI".
LANGUAGE | UPDATED BY |
---|---|
English | Myself |
Japanese | kuragehimekuara1 |
Italian | colozzacristian |
Turkish | mikropsoft |
French | Valyyme |
Brazilian Portuguese | luxdev01 |
Simplified/Traditional Chinese | AC19970 |
German | Irgendeinwer |
Persian | alr86 |
Spanish | WaifuPX-DG |
Romanian | D4rk7355608 |
- Fastlyrics
- SongSync
- LrcLib
- Spotify Lyrics UI
- Ktor for networking
- Ksoup for parsing html
- Database using ROOM
- MVI architecture
- Dependency injection using Koin
- Landscapist for Images
- Colorpicker-compose for the color picker
- MaterialKolor for generating color palettes
- Hypnotic Canvas for the mesh gradient background
Rush is not just a lyrics app. Users can share lyrics as cards too, for that it needs to depend on Genius API Album art and other metadata. While genius provides accurate lyrics, It doesn't provide timed lyrics so it fetches that from LRCLIB using the title and artist info provided by genius. Users can correct lyrics from LRCLIB with the correct lyrics feature.
Below are some Flowcharts I made so almost everyone can understand how Rush works
flowchart
n1@{ shape: "rounded", label: "App" }
n1 ---|"Search query"| n2@{ shape: "circle", label: "Genius API" }
n2 ---|"Entities containing IDs"| n1
style n2 color:#000000,fill:#FFDE59
flowchart
subgraph s1["Background"]
n1@{ shape: "diam", label: "Song exists in database?" }
n5["Song title, Artist, Genius lyrics, Synced lyrics (if available) "]
end
subgraph s2["UI"]
n6["ID and Genius URL of selected song "]
n2["Song lyrics displayed"]
end
n3@{ shape: "circle", label: "LRCLIB API" }
n4@{ shape: "circle", label: "Scraping" }
n6 --- n1
n1 ---|Yes| n2
n1 ---|No| n4
n5 ---|After saving to database| n2
n4 ---|Genius Lyrics| n5
n5 ---|Title, Artist| n3
n3 ---|Lyrics, Synced Lyrics| n5
style n3 color:#FFFFFF,fill:#5E17EB
style n4 color:#FFFFFF,fill:#FF3131
flowchart
n1@{ label: "Rectangle" }
n1@{ shape: "rounded", label: "Media Player" }
style n1 stroke-width:2px,stroke-dasharray:5 5
subgraph s1["App"]
n3["Fetches π£"]
n2["Searches ποΈ"]
end
n1 ---|Playback position| s1
n1 ---|Title, Artist| n2
n2 ---|Topmost search result| n3