View Issue Details
|
MediaMonkey should fully support Synced (timed) Lyrics. 1) MediaMonkey should display Synced Lyrics a) It should work as such in Preview and Lyrics panel, and Playing node set to Lyrics View. This includes auto-scrolling and highlighting of current text in song. b) It would be nice if there was a Visualization with Synced Lyrics overlay available (one could envision a karaoke-like capability (maybe with a karaoke option in Player which lowers EQ on vocal range). c) User should be able to set preference for Synced or Static Lyrics. A quick switch (from Context Menu) between preference should be available where Lyrics are displayed. Lyrics panel could show tabs if multiple Lyric types are available. 2) MediaMonkey should see external Lyrics files (LRC & TXT) when scanning files. a) Properties > Lyrics should show these files (like external Artwork) b) Auto-Organize/Organize Files/renaming files should be able to rename these files 3) MediaMonkey should be able to auto-embed external Lyrics. On scanning, per user option, MediaMonkey should be able to embed external Lyrics into the file tags. On Tools > Options > Library - Embed external Lyrics on scanning -- Only for Static Lyrics (ie. not for Synced Lyrics) [this would only embed Static Lyrics] -- Remove external Lyrics files after embedding --- Only for Static Lyrics (ie. not for Synced Lyrics) [this would only removed external Lyrics file for Static Lyrics] 4) MediaMonkey should allow for easy Synced Lyrics offset. Sometimes Synced lyrics are too soon or too late. In Properties > Lyrics the user should be able to say advanced/delay Synced Lyrics by x ms. This would be saved to embedded and/or external Synced Lyrics. a) Maybe, additionally, some form of slider adjuster on the Lyrics panel to help user adjust timing. When slider is used a save time offset to Lyrics button would show (save icon with such tooltip). 5) MediaMonkey should support Synced Lyrics lookup. a) User should be able to set preference of Synced versus Static Lyrics (Tools > Options > Metadata lookup) b) User should be able to set to save Lyrics embedded or as external files. Having separate settings for Synced and Static Lyrics would be best. Similar to Artwork: - Save lyrics to tag (if possible), otherwise to file folder - Save lyrics to file folder - Save lyrics to tag (if possible), and to file folder 6) MediaMonkey should support Sync of Synced Lyrics Similar to Artwork, MediaMonkey should have options to Sync Synced/Static Lyrics embedded or as external files. Note that Sync not only happens to portable players, but also to external drives/Cloud services, so flexibility is key here. a) If there are different external formats, offer options to user b) If there are different embedded options, offer options to user 7) Add Unsynchronized Lyrics Files to Edit node For when users have both external Lyrics files and embedded Lyrics. This probably should only compare Static to Static and Synced to Synced, ignoring differences between Synced and Static lyrics. |
|
https://lrclib.net/ looks like a good lyrics source for both synced and unsynced lyrics Getting synced lyrics from https://lrclib.net/ and auto-scroll then in Playing and Preview would be really nice and useful feature for the next MM version Example query: https://lrclib.net/api/get?artist_name=oasis&track_name=wonderwall&album_name=%28What%27s%20the%20Story%29%20Morning%20Glory%3F&duration=259 Added as Lyrics source (just plain lyrics for MM 2024) as 0021181 |
|
1a) is implemented in 3100 ..the rest is TODO 8) Also Options > Metadata Lookup section should split Lyrics sources to synced and unsynced and MM should look up for both types.. |
|
So far: -- Scrolling of synced lyrics in Playing/Preview/Lyrics elements added in 3100 -- Scanning of *.LRC files added (once the filename is same as for the audio file) -- Searching/lookup of synced lyrics added (added two sources for synced lyrics in Options > Metadata lookup > Sources) -- Editing of 'Synced lyrics' in Properties added TODO: -- tagging support (Michal) -- UI: currently synced lyrics are preferred when looking up lyrics, there should be an option for this though (Rusty/Ludek) -- device sync support (Ludek) |
|
As for the UI: I am not fan of too many options, IMO: -- *.LRC files could always be embedded to the database and saved to file tag, is there any downside? (LRC already in tag/DB should always has preference) -- missing lyrics (that are looked up) should always be saved to the database and tag (and never to *.lrc file), is there any downside? -- when looking up missing lyrics, both synced and unsynced variants should be looked up, user can always disable particular lyrics sources to adjust this |
|
8. Users should be able to set to re-lookup existing Lyrics if they're not Synced Lyrics. So if user has standard Lyrics this would force a lookup for Synced Lyrics whenever a Lyrics lookup is normally triggered (playback) or manually triggered. |
|
8) is implemented and added '[x] Prefer Synced Lyrics' checkbox to Options > Metadata Lookup |
|
9) Add Non-Synced Lyrics node to Files to Edit. Users need a way to find files with Lyrics that are not Synced Lyrics. |
|
9) added 'Files To Edit' > 'Unknown Synced Lyrics' node 10) Device sync: added syncing of *.lrc files to file folder UI (new checkbox) Device > Sync Profile > [..] Save synced lyrics to file folders 11) Added new checkbox '[..] Save Synced Lyrics to file folder' to Options > Metadata Lookup |
|
Further ideas from online document: -- Preview should become undockable (like Lyrics) so Synced Lyrics/Visualizations can be shown on second monitor (in Undock Panels Addon) -- Ability to set a background (Artwork, or a specific image) for timed Lyrics (for Karaoke setups). -- Consider the ability to overlay Synced Lyrics on Visualizations (for Karaoke setups) EDIT (by Ludek): I would rather see 'Playing' node (with the large Lyrics) undockable.. Added the ability as https://github.com/ventismedia/mediamonkey-addons/commit/6a7f230ab86f653db5dfeeecb62f434a3b1e350a |
|
Tagging support implemented: MP3, DSF, AIFF, WAV - used standard ID3v2 SYLC frame for synced lyrics, USLT for unsynced. WAV has ID3v2 tag embedded in de facto standard RIFF chunk "id3 ". OGG, FLAC, MPC, APE - in case synced lyrics are not filled, used "Lyrics" tag like before. In case only synced lyrics are filled, used also "Lyrics" tag (to be most compatible with other sw). In case both lyrics and synced lyrics are filled, we use "Lyrics" tag for synced and "UNSYNCEDLYRICS" for unsynced lyrics. This seems to be de facto standard tag for this situation. Synced lyrics use timecodes in square brackets, this way they are detected. MP4/M4A/M4B/MOV - similar logic like before, used "@lyr" and "com.apple.iTunes:UNSYNCEDLYRICS" atoms. WMA - used "WM/Lyrics_Synchronized" tag for synced lyrics, this tag was seen in Kid3 sw. I did not find any other sw who would support synced lyrics in WMA, so used this. "WM/Lyrics" still used for not synced lyrics. |
|
OK, so everything mentioned is more or less implemented in 3100 Resolving for testing/feedback.. |