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

Fallback for scrobbling songs with multiple artists #3432

Closed
nalsai opened this issue Oct 17, 2022 · 2 comments · Fixed by #3671
Closed

Fallback for scrobbling songs with multiple artists #3432

nalsai opened this issue Oct 17, 2022 · 2 comments · Fixed by #3671
Labels
feature New feature or request

Comments

@nalsai
Copy link

nalsai commented Oct 17, 2022

Is your feature request related to a problem? Please describe.

I'm having trouble scrobbling songs from 電音部/DENONBU (https://music.youtube.com/channel/UCA22VRlaMmb2B1-ki2MLLBw) on YouTube Music. It always says "The track is not recognized" until I manually add it.
YouTube Music has 電音部 and the singers in the artist field and often has the composer in brackets in the title.
Using the built in scrobbling feature of Spotify it only uses the first artist (which is always 電音部). Additionally Spotify does not have the composer in brackets in the title. It's artist field usually contains "電音部, composer, singers".

Example: YouTube Music has "DENONBU, Tama Kurogane (CV: Akina), Aki Shirokane (CV: Arisa Komiya) & Ginka Haijima (CV: Azuki Shibuya) - Azabu Autobahn (Prod. Kenmochi Hidefumi)" and web-scrobbler tries to scrobble "DENONBU, Tama Kurogane (CV: Akina), Aki Shirokane (CV: Arisa Komiya), Ginka Haijima (CV: Azuki Shibuya) - Azabu Autobahn (Prod. Kenmochi Hidefumi)".
Spotify has "電音部, 黒鉄たま (CV: 秋奈), 白金 煌 (CV: 小宮有紗), 灰島銀華 (CV: 澁谷梓希) - Azabu Autobahn" and scrobbles "電音部 - Azabu Autobahn".

Looking at the links to test in the YouTube Music connector source code, the first one (https://music.youtube.com/playlist?list=OLAK5uy_kDEvxPASaVnoSjOZViKEn4S3iVaueN0UI) also fails. web-scrobbler tries to scrobble "Mt. Eden, T-Mass - As One (feat. Aviella Winder)". Last.fm has the following entries for it, in order of popularity:

  • Mt. Eden - As One
  • Mt Eden - As One
  • Mt. Eden & T-Mass - As One (feat. Aviella Winder)
  • Mt Eden - As One (feat. Aviella Winder)
  • Mt Eden, T-Mass feat. Aviella Winder - As One
  • Mt. Eden, T-Mass feat. Aviella Winder - As One
  • Mt. Eden - As One (feat. Aviella Winder)

Describe the solution you'd like
I would want some kind of fallback, so it tries to scrobble with only the first artist (or maybe also with a & instead of a comma) rather than just failing (and maybe also without the feat. or Prod. part).

Describe alternatives you've considered
#3306 proposes to always only scrobble one artist in YouTube Music.

Additional context
I think that trying to scrobble with all artists is good, but it often creates problems and I'd rather just have the first artist than no scrobble at all.
I don't think Force track recognition is a good option either for YouTube Music, because YouTube Music can contain videos which could then be wrongly scrobbled.

@nalsai nalsai added the feature New feature or request label Oct 17, 2022
@jaccarmac
Copy link
Contributor

This sounds like it might be two issues:

It always says "The track is not recognized" until I manually add it.
...
Example: YouTube Music has "DENONBU, Tama Kurogane (CV: Akina), Aki Shirokane (CV: Arisa Komiya) & Ginka Haijima (CV: Azuki Shibuya) - Azabu Autobahn (Prod. Kenmochi Hidefumi)" and web-scrobbler tries to scrobble

Does it scrobble that track correctly if you check "Force track recognition" in the options? The test track scrobbles for me, and I have that option set. Azabu Autobahn also seems to be recognized.

If the option is not set and setting it fixes recognition, this sounds like another request for single-artist behavior, which is under discussion at the pull you linked. In short, I'm in favor of using the metadata as presented by the website in question as much as possible, and see always trimming the list of artists as incorrect.

The fallback idea is an interesting one; I hadn't consider it because I keep my force option on. Thanks!

@nalsai
Copy link
Author

nalsai commented Oct 23, 2022

I understand my problem now. I thought it was related to scrobbling multiple artist, but that isn't my main problem. I think I'll just keep "Force track recognition" enabled to deal with that.

Looking at

const artistSelectors = [

the youtube-music connector gets all channel links in the player bar and concatenates them with a comma. This does not work in some cases, as some tracks just have a simple string without links to the artist

Examples:
Itadaki Babel works correctly - there is one artist with a link.
Belka works correctly? - there are two artist with links and & between them -> artists get recognized, & gets replaced with ,
Let Me Know doesn't work - artists are not linked (it's just a long string).

My quick idea would be to parse the following:

<span class="subtitle style-scope ytmusic-player-bar">
  <yt-formatted-string class="byline style-scope ytmusic-player-bar complex-string" ellipsis-truncate="" ellipsis-truncate-styling="" title="ARTIST(S) • NAME • YEAR">

The title field of the yt-formatted-string in .ytmusic-player-bar.subtitle` always contains the artist(s) first, then a " • " and then other stuff (song name and year). Inside of the yt-formatted-string there are spans with artists name and year. Artists are usually - but not always - links, which is what web scrobbler currently looks for. Sometimes it's just one span or multiple links and spans. The name is always a link to the song page.

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

Successfully merging a pull request may close this issue.

2 participants