Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read Synchronized Lyrics embedded in metadata section of audio file ; MP3 → ID3 → SYLT tag ; MP4 / M4A → XMP #625

Open
porg opened this issue Feb 2, 2024 · 0 comments

Comments

@porg
Copy link

porg commented Feb 2, 2024

Foreword

Current capabilities — From observation

  • I opened an MP3 which has an ID3 metadata section which contains "Synchronized Lyrics" as a SYLT tag

    • which I had created myself, and added to the MP3 file with Kid3
      • Language: "ger" (German)
      • Time unit: "Milliseconds" (as opposed to MPEG frame numbers)
      • Character encoding: UTF-8
  • ❌ LyricsX does not show lyrics for this song when playing it back.

  • 💡 I need to open: LyricsX menu item → Show Lyrics Window → Drag and drop a .LRC file on it (which I also had).

    • This then seems to get added to ~/Music/LyricsX/Song Name - Artist Name.lrcx
    • Henceforth whenever I play the song the lyrics get shown.

Feature request

  • LyricsX can read in the Synchronized lyrics embedded in the audio file
    • Ideally does this at runtime, so it parses the audio file each time its playback starts
    • If this is to slow (too much disk access and CPU utilization), have a simple caching mechanism:
      • Get timestamp of the audio file.
      • Look for corresponding .LRCX sidecar file ~/Music/LyricsX/
        • If there ain't one, then parse the audio file
        • If there is a corresponding LRC file, check whether it is up to date
          • If the .LRCX file is younger or the same age than the audio file, then use the LRCX file.
          • If the audio file is younger, then parse the audio file for embedded synchronized lyrics.

Relevant Metadata

  • MP3 uses ID3 which has the tag SYLT.
  • MP4 container (such as M4A using AAC audio codec) uses XMP and the tag \xa9lyr
@porg porg changed the title Use Synchronized Lyrics embedded in metadata section of audio file ; MP3 → ID3 → SYLT tag ; MP4 / M4A → XMP Read Synchronized Lyrics embedded in metadata section of audio file ; MP3 → ID3 → SYLT tag ; MP4 / M4A → XMP Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant