mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
[PR #12941] [MERGED] Add API support for ELRC word-based lyrics #13423
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/12941
Author: @AlexDalas
Created: 11/2/2024
Status: ✅ Merged
Merged: 4/7/2025
Merged by: @crobibero
Base:
master← Head:master📝 Commits (10+)
b1ac4e2Add API support for ELRC word-based lyricsa635f45Merge branch 'jellyfin:master' into master93ce630Create TimeTags object85001b0Merge branch 'master' of https://github.com/AlexDalas/jellyfin-elrc-lyricsd920dc3redo TimeTag implementation87e06c6Changes to LyricLineTimeTaga9feeacChange LyricLineTimeTag to LyricLineCue, include info about end timesf89552eRemove widthc3d7f13Remove width tag5c4a430Merge remote-tracking branch 'refs/remotes/upstream/master' into elrc📊 Changes
5 files changed (+157 additions, -6 deletions)
View changed files
📝
MediaBrowser.Model/Lyrics/LyricLine.cs(+10 -1)➕
MediaBrowser.Model/Lyrics/LyricLineCue.cs(+35 -0)📝
MediaBrowser.Providers/Lyric/LrcLyricParser.cs(+40 -5)➕
tests/Jellyfin.Providers.Tests/Lyrics/LrcLyricParserTests.cs(+41 -0)➕
tests/Jellyfin.Providers.Tests/Test Data/Lyrics/Fleetwood Mac - Rumors.elrc(+31 -0)📄 Description
Adds support for word-based timestamps from within ELRC files. This adds to the lyrics support, as the current lyrics support does not support word-by-word lyrics in an ELRC file Instead, it just ignores it. Adding this would mean that a client could read the TimeTags and get word-by-word timings for lyrics.
I've created a fork of Jellyfin-web that works with the lyrics from the backend, but it is a bit buggy at the moment because of where the code for searching the word is ran.
Changes
- For example "4: 6000" would be 6 seconds in and 4 letters into the lyrics.
Issues
No issues, but related: Feishin (which works with Jellyfin) shows this when you use ELRC files with Navidrome. It does not show this on Jellyfin, but it doesn't time the word lyrics either.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.