[GH-ISSUE #118] [Question] Embedded Lyrics Revert Changes #105

Closed
opened 2026-02-27 04:57:33 +03:00 by kerem · 1 comment
Owner

Originally created by @TheseViolentEnds on GitHub (Nov 16, 2025).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/118

This is more of a question than an issue...

I tried changing the lyrics to a song I downloaded with embedded lyrics in Musicbrainz Picard, and discovered that no matter how many times I save the new lyrics, upon reopening the file in Picard the embedded ones are added back. There are no other tags I can see where the lyrics are stored but they must exist somewhere or they wouldn't revert each time.

Zotify itself works fine, I'm really happy with it, I was just hoping you could shed some light on how the lyrics are being embedded in the metadata? Are they stored in an additional hidden tag that Picard maybe just doesn't read?

Thank you
Kind regards

Originally created by @TheseViolentEnds on GitHub (Nov 16, 2025). Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/118 This is more of a question than an issue... I tried changing the lyrics to a song I downloaded with embedded lyrics in Musicbrainz Picard, and discovered that no matter how many times I save the new lyrics, upon reopening the file in Picard the embedded ones are added back. There are no other tags I can see where the lyrics are stored but they must exist somewhere or they wouldn't revert each time. Zotify itself works fine, I'm really happy with it, I was just hoping you could shed some light on how the lyrics are being embedded in the metadata? Are they stored in an additional hidden tag that Picard maybe just doesn't read? Thank you Kind regards
kerem 2026-02-27 04:57:33 +03:00
Author
Owner

@Googolplexed0 commented on GitHub (Nov 17, 2025):

Zotify itself works fine, I'm really happy with it,

Glad to hear!

I was just hoping you could shed some light on how the lyrics are being embedded in the metadata? Are they stored in an additional hidden tag that Picard maybe just doesn't read?

Music file tags are set by the music_tag library instead of by code I've written directly, so I can't make any guarantees, but there is no second hidden lyrics tag AFAIK. Lyrics are written to the LYRICS tag for Vorbis (.ogg) files, ©lyr tag for .mp4/.m4a files, and USLT tag for .mp3 files.

I am not familiar with Picard, but I expect your issue comes from something that it is doing behind the scenes. Some music tag programs have a preferred tag for lyrics (UNSYNCEDLYRICS, SYNCEDLYRICS, etc.) that they will copy any detected lyrics to on first open and then always read from that tag with priority. If you are saving lyrics to a .lrc file, Picard may be overwriting file tags with the .lrc data on open.

Try reading, editing, and reopening the files with an alternative music tag software (something like mp3tag) and seeing if that makes a difference.

<!-- gh-comment-id:3539707431 --> @Googolplexed0 commented on GitHub (Nov 17, 2025): > Zotify itself works fine, I'm really happy with it, Glad to hear! > I was just hoping you could shed some light on how the lyrics are being embedded in the metadata? Are they stored in an additional hidden tag that Picard maybe just doesn't read? Music file tags are set by the `music_tag` library instead of by code I've written directly, so I can't make any guarantees, but there is no second hidden lyrics tag AFAIK. Lyrics are written to the `LYRICS` tag for Vorbis (`.ogg`) files, `©lyr` tag for `.mp4`/`.m4a` files, and `USLT` tag for `.mp3` files. I am not familiar with Picard, but I expect your issue comes from something that it is doing behind the scenes. Some music tag programs have a preferred tag for lyrics (`UNSYNCEDLYRICS`, `SYNCEDLYRICS`, etc.) that they will copy any detected lyrics to on first open and then always read from that tag with priority. If you are saving lyrics to a .lrc file, Picard may be overwriting file tags with the .lrc data on open. Try reading, editing, and reopening the files with an alternative music tag software (something like [mp3tag](https://www.mp3tag.de/en/download.html)) and seeing if that makes a difference.
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/zotify#105
No description provided.