You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At least the newer id3 versions as well as ogg vorbis comments (and possibly more) support embedding lyrics in the music file. Up to now ncmpcpp does not support fetching the lyrics from the files directly, nor is it possible to alter these fields. I think that this would be a nice feature, although I know that the implementation is probably not easy.
To be more specific I imagine the feature in two parts:
a possibility to choose the embedded lyrics as source for the lyrics screen (which is probably the hardest part, because of the different formatted tags)
a key that saves the currently viewed lyrics (e.g. fetched from an online source) to the music file. Here also an option to do this automatically (if no embedded lyrics are present) would be nice. The problem here is the limited set of characters these tags allow.
What do you think of it? Do you think this is a useful feature?
Reading the lyrics from mp3 tags (lyrics-XXX, lyrics-eng, etc.) would be very useful.
While tagging my music (with beets) it automatically adds the lyrics, but to view them I have to read out the tag using ffmpeg.
Would be nice if it were all within the same application.
Reacted by xXR01I1Xx, Fauve, Ivan Aytzhanov and fazzi
Only partially, 9c27eec only implements the "read" part.
While it's not a crucial feature, it would make sense to also allow writing to files, just like ncmpcpp can edit tags and edit the lyrics file. In the worst case you currently fetch the lyrics from the tag, notice that they are wrong and correct them in ncmpcpp… but actually only change them in the associated txt file and not the actual tags.
In the best case you would do the same (at least I typically notice they are wrong when listening to the song) and simply correct them in the external editor of your choice and directly write them to the songs tag, so you not need to use some mp3/vorbis/etc tagger.
From what I see, this would require a larger rewrite since tags is just a lyrics fetcher, and it just fetches the lyrics and saves them to a file. A whole separate mechanism would have to be added which would watch for any changes and write them to the music file. On a second note, it could just be implemented for all lyrics fetchers. It's possible to add an option like sync_lyrics which would write the lyrics to the music file after a user is finished editing the lyrics file, regardless of what lyrics fetcher was used to obtain them. But I don't know whether it's not out of scope for ncmpcpp. What do You think?
I totally agree that this is no small task and likely would need bigger rewrites.
I'm therefore not sure if it's worth the effort if I'm the sole person requesting it. The original author deemed ncmpcpp as "feature-complete" in his opinion, so this would also add another maintenance-burden.
But of course I would love to have the feature! Thank you for creating the PoC, if it's really "that simple" it might even be doable?
The basic functionality was easy to implement, what bothers me is that it cannot be done for graphical editors since they don't block ncmpcpp's execution. Overall, I think the best solution would be to use intofiy to watch changes made to the lyrics files (currently the lyrics are synced when the editor is closed), but that can just be a whole separate program (more likely a simple script).
Activity
jneidel commentedon Jul 6, 2019
Reading the lyrics from mp3 tags (lyrics-XXX, lyrics-eng, etc.) would be very useful.
While tagging my music (with beets) it automatically adds the lyrics, but to view them I have to read out the tag using ffmpeg.
Would be nice if it were all within the same application.
kamack38 commentedon Feb 10, 2025
Shouldn't this be closed because of 9c27eec ?
pbnoxious commentedon Feb 10, 2025
Only partially, 9c27eec only implements the "read" part.
While it's not a crucial feature, it would make sense to also allow writing to files, just like ncmpcpp can edit tags and edit the lyrics file. In the worst case you currently fetch the lyrics from the tag, notice that they are wrong and correct them in ncmpcpp… but actually only change them in the associated txt file and not the actual tags.
In the best case you would do the same (at least I typically notice they are wrong when listening to the song) and simply correct them in the external editor of your choice and directly write them to the songs tag, so you not need to use some mp3/vorbis/etc tagger.
kamack38 commentedon Feb 10, 2025
From what I see, this would require a larger rewrite since
tagsis just a lyrics fetcher, and it just fetches the lyrics and saves them to a file. A whole separate mechanism would have to be added which would watch for any changes and write them to the music file. On a second note, it could just be implemented for all lyrics fetchers. It's possible to add an option likesync_lyricswhich would write the lyrics to the music file after a user is finished editing the lyrics file, regardless of what lyrics fetcher was used to obtain them. But I don't know whether it's not out of scope for ncmpcpp. What do You think?kamack38 commentedon Feb 12, 2025
I've created a proof of concept at #625
pbnoxious commentedon Feb 13, 2025
I totally agree that this is no small task and likely would need bigger rewrites.
I'm therefore not sure if it's worth the effort if I'm the sole person requesting it. The original author deemed ncmpcpp as "feature-complete" in his opinion, so this would also add another maintenance-burden.
But of course I would love to have the feature! Thank you for creating the PoC, if it's really "that simple" it might even be doable?
kamack38 commentedon Feb 13, 2025
The basic functionality was easy to implement, what bothers me is that it cannot be done for graphical editors since they don't block ncmpcpp's execution. Overall, I think the best solution would be to use intofiy to watch changes made to the lyrics files (currently the lyrics are synced when the editor is closed), but that can just be a whole separate program (more likely a simple script).