[GH-ISSUE #9] [Feature Request] Download word-by-word lyrics #5

Open
opened 2026-03-03 00:07:00 +03:00 by kerem · 10 comments
Owner

Originally created by @MDSVJ on GitHub (Oct 8, 2025).
Original GitHub issue: https://github.com/binimum/tidal-ui/issues/9

It would be great if we could also download the word-by-word lyrics, just like in this project: https://github.com/zhaarey/apple-music-downloader . Thanks!

Originally created by @MDSVJ on GitHub (Oct 8, 2025). Original GitHub issue: https://github.com/binimum/tidal-ui/issues/9 It would be great if we could also download the word-by-word lyrics, just like in this project: https://github.com/zhaarey/apple-music-downloader . Thanks!
Author
Owner

@androidguy28 commented on GitHub (Oct 24, 2025):

This would be an awesome cherry on top!

<!-- gh-comment-id:3440963844 --> @androidguy28 commented on GitHub (Oct 24, 2025): This would be an awesome cherry on top!
Author
Owner

@IZA165 commented on GitHub (Oct 31, 2025):

if you're using Apple Music as a source for lyrics I used Gamdl to download the timed lyrics in .lrc format (as well as the songs). Not sure if that's something that can be easily copied over @uimaxbai but I didn't need to do any fancy decryption stuff, just needed the cookie file.
I think it works in the same way as the project @MDSVJ commented

<!-- gh-comment-id:3474708391 --> @IZA165 commented on GitHub (Oct 31, 2025): if you're using Apple Music as a source for lyrics I used [Gamdl](https://github.com/glomatico/gamdl) to download the timed lyrics in .lrc format (as well as the songs). Not sure if that's something that can be easily copied over @uimaxbai but I didn't need to do any fancy decryption stuff, just needed the cookie file. I think it works in the same way as the project @MDSVJ commented
Author
Owner

@binimum commented on GitHub (Oct 31, 2025):

I use an API which converts TTML to JSON. Converting it back to TTML is a hassle that I don't really think would be worth it - but I am exploring other APIs (this is sort of on the back burner though with Hi-Res downloading and a better UI being my main concerns atm)

<!-- gh-comment-id:3474712937 --> @binimum commented on GitHub (Oct 31, 2025): I use an API which converts TTML to JSON. Converting it back to TTML is a hassle that I don't really think would be worth it - but I am exploring other APIs (this is sort of on the back burner though with Hi-Res downloading and a better UI being my main concerns atm)
Author
Owner

@trungnt2910 commented on GitHub (Dec 20, 2025):

Current lyrics feature already works great for my use case, but I wonder if it is possible for the platform to embed these lyrics onto the downloaded .flac file's metadata using the LYRICS tag.

For example, this is what lucida.to is doing for some songs:

Input #0, flac, from 'file.flac': 
  Metadata:
    ALBUM           : Avalon
    album_artist    : Alan Walker; Anne Gudrun
    ARTIST          : Alan Walker; Anne Gudrun
    COMMENT         : downloaded from lucida.to: https://music.amazon.com/tracks/B0DLSYQ3NR?musicTerritory=US
    COPYRIGHT       : ℗© 2024: Kreatell Music
    DATE            : 2024-11-11
    encoder         : Lavf58.76.100
    ISRC            : AEA3A2231957
    LABEL           : Kreatell Music
    LYRICS          : [00:02.40] Somewhere beyond your wildest dreams
                    : [00:07.30]
                    : [00:07.30] There's an island waiting for you
                    : [00:12.96]
                    : [00:12.96] Dark skies, metro underground

I'm not sure if it's entirely related to this issue, but having seen a bunch of different "lyrics" issues getting closed as a duplicate of this, I think it's better to post here.

<!-- gh-comment-id:3677969699 --> @trungnt2910 commented on GitHub (Dec 20, 2025): Current lyrics feature already works great for my use case, but I wonder if it is possible for the platform to embed these lyrics onto the downloaded `.flac` file's metadata using the `LYRICS` tag. For example, this is what lucida.to is doing for some songs: ``` Input #0, flac, from 'file.flac': Metadata: ALBUM : Avalon album_artist : Alan Walker; Anne Gudrun ARTIST : Alan Walker; Anne Gudrun COMMENT : downloaded from lucida.to: https://music.amazon.com/tracks/B0DLSYQ3NR?musicTerritory=US COPYRIGHT : ℗© 2024: Kreatell Music DATE : 2024-11-11 encoder : Lavf58.76.100 ISRC : AEA3A2231957 LABEL : Kreatell Music LYRICS : [00:02.40] Somewhere beyond your wildest dreams : [00:07.30] : [00:07.30] There's an island waiting for you : [00:12.96] : [00:12.96] Dark skies, metro underground ``` I'm not sure if it's entirely related to this issue, but having seen a bunch of different "lyrics" issues getting closed as a duplicate of this, I think it's better to post here.
Author
Owner

@binimum commented on GitHub (Dec 20, 2025):

I was thinking about doing this using the Hi-Fi API's lyrics endpoint - I'll just have to wait for some free time to implement it.

<!-- gh-comment-id:3677994791 --> @binimum commented on GitHub (Dec 20, 2025): I was thinking about doing this using the Hi-Fi API's lyrics endpoint - I'll just have to wait for some free time to implement it.
Author
Owner

@binimum commented on GitHub (Dec 31, 2025):

You should now be able to download TTML or LRC lyrics from the lyrics popup - just scroll down to the bottom. I'm working on embedding lyrics into the file.

<!-- gh-comment-id:3702514387 --> @binimum commented on GitHub (Dec 31, 2025): You should now be able to download TTML or LRC lyrics from the lyrics popup - just scroll down to the bottom. I'm working on embedding lyrics into the file.
Author
Owner

@trungnt2910 commented on GitHub (Jan 1, 2026):

I'm working on embedding lyrics into the file.

Nice to hear that. This should be as simple as adding a lyrics attribute to buildMetadataEntries right?

github.com/uimaxbai/tidal-ui@e42dbac616/src/lib/api.ts (L1639-L1724)

<!-- gh-comment-id:3703757774 --> @trungnt2910 commented on GitHub (Jan 1, 2026): > I'm working on embedding lyrics into the file. Nice to hear that. This should be as simple as adding a `lyrics` attribute to `buildMetadataEntries` right? https://github.com/uimaxbai/tidal-ui/blob/e42dbac6160dfa9945a2068f845d6ae86eed9bc8/src/lib/api.ts#L1639-L1724
Author
Owner

@MDSVJ commented on GitHub (Jan 3, 2026):

I noticed that when downloading TTML lyrics, background vocals seem to be stripped and different singers are not separated (left/right in the lyrics view).

<!-- gh-comment-id:3706687756 --> @MDSVJ commented on GitHub (Jan 3, 2026): I noticed that when downloading TTML lyrics, background vocals seem to be stripped and different singers are not separated (left/right in the lyrics view).
Author
Owner

@binimum commented on GitHub (Jan 4, 2026):

I can reproduce this. Onto fixing it!

<!-- gh-comment-id:3708154137 --> @binimum commented on GitHub (Jan 4, 2026): I can reproduce this. Onto fixing it!
Author
Owner

@MDSVJ commented on GitHub (Jan 5, 2026):

Yeah it's quite odd because in the lyrics view, they are displayed properly with the appropriate parameters and such.

<!-- gh-comment-id:3709152785 --> @MDSVJ commented on GitHub (Jan 5, 2026): Yeah it's quite odd because in the lyrics view, they are displayed properly with the appropriate parameters and such.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/tidal-ui#5
No description provided.