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

plugin: Refined Lyrics #1768

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

ArjixWasTaken
Copy link
Collaborator

@ArjixWasTaken ArjixWasTaken commented Feb 19, 2024

⚠️ THIS IS A DRAFT ⚠️

Made a draft PR, so I can easily work on this from multiple computers.
This plugin will be a replacement for lyrics-genius, but it will support more sources, synced lyrics, romanization, etc.

Roadmap:

  • Intercept the lyrics tab header and content.
    • Always enable the lyrics tab
    • Read/Write lyrics
  • Reach feature parity with lyrics-genius.

*More goals will be added at a later time.

@ArjixWasTaken ArjixWasTaken changed the title plugin: init plugin: Refined Lyrics Feb 19, 2024
@JellyBrick JellyBrick added the enhancement New feature or request label Feb 20, 2024
@JellyBrick
Copy link
Collaborator

JellyBrick commented Feb 22, 2024

Now that YTMD supports Solid.js.
So, as possible, it seems like a good choice to create UI components using Solid.js. (also for maintenance and readability)

see https://github.com/th-ch/youtube-music/tree/master/src/plugins/in-app-menu

@ArjixWasTaken ArjixWasTaken marked this pull request as ready for review February 22, 2024 07:05
@ArjixWasTaken
Copy link
Collaborator Author

@JellyBrick Thanks, I'll be using that for the UI!

Although, it would be nice if we could hook into web components, but alas I've failed to monkey patch them many times.

@ArjixWasTaken ArjixWasTaken marked this pull request as draft February 22, 2024 08:47
@DereC4
Copy link
Contributor

DereC4 commented Mar 9, 2024

can't wait! Glad to pass the torch onto you

@ArjixWasTaken
Copy link
Collaborator Author

PS: I've been inactive because it has been the exam season for the past 2 months.

(Normally it would only last one month)

@ArjixWasTaken
Copy link
Collaborator Author

I am once again actively working on this.

@DereC4
Copy link
Contributor

DereC4 commented Apr 27, 2024

awesome

@ArjixWasTaken
Copy link
Collaborator Author

ArjixWasTaken commented Apr 27, 2024

Looks like youtube provides synced lyrics on their own!
Dunno why the official client doesn't use them, maybe they are for the mobile apps?

Either way, I am going to use them :^)

Also, I'd like some input about genius lyrics, from what I can gather they do not provide synced lyrics.
And from what I can see, their lyrics are not focused on karaoke, because they group them by chorus, verse, etc.

@ArjixWasTaken
Copy link
Collaborator Author

ArjixWasTaken commented Apr 28, 2024

I noticed that we are already using an excellent library named youtubei.js which wraps the youtubei API.
I looked into it and I do not get synced lyrics using it.

My hunch is that the client/version that youtubei.js uses does not support synced lyrics.
So I will keep my custom mini-wrapper until youtubei.js allows me to override the client name and version for the music endpoints.

(It may appear that they do support that, but the music endpoints use a hard-coded client type and version)

@MulverineX
Copy link
Contributor

Dunno why the official client doesn't use them, maybe they are for the mobile apps?

Indeed, they are only available on the mobile Flutter app (Android/iOS)

@Tortillas-IT
Copy link

Tortillas-IT commented May 16, 2024

Hi, idk if this can help in some way... But on vanilla youtube music (web) i'm using a script which permits live lyrics on youtube music web. Basically this is possible thanks to musixmatch APIs and lyrics. In case you're interested:
https://github.com/ProComGameS/ytm-lyrics-v2/tree/ProComGameS-YTMLyrics-V2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants