Lyrics

No song I have purchased since 2019 has lyrics attached, since nazi and racist trolls got Lyrics Wiki shut down. This made my jwzlyrics program pretty useless.

Anyway, I have questions:

  • Is there some API that will let me ask Apple for lyrics? Assume that I am logged in to iCloud and the store and such. (Apple is apparently using musixmatch on the backend.)

  • Ok, how about Google? Sometimes search results have lyrics in them. Is there any way to get that without scraping HTML?

  • What does macOS "Music / Preferences / Advanced / Automatically Update Artwork" actually do? I am afraid to check that box. Does it touch lyrics as well? Does it update ID3 data in the files on disk, or just in some database off to the side? Will it screw up the artwork and lyrics that I already have? Note that I have never purchased a song from Apple.

  • Is "Music / File / Library / Get Album Artwork" the same thing? I assume that operates on the whole library and not just on the currently playing track?

  • There are a thousand programs on GitHub that will download lyrics from various services, if you have created an account and API key on those services (which is some bullshit). But are any of them any good? By "good" I mean, I can have a nightly cron job that adds missing lyrics for recent downloads, and can expect it to do the right thing.

It's amazing to me the the music conglomerates have basically conceded that all music is available everywhere for a dollar a month and nobody's ever going to get paid, but they are still treating the lyrics like those are the most precious thing they own.

Previously, previously.

Tags: , , , , , , ,

14 Responses:

  1. Glaurung says:

    "Get Album Artwork" does not, as best I can tell, alter the mp3 metadata. Instead, Itunes/whatever mutant thing has replaced itunes, downloads images to a separate "album artwork" folder (under the folder with the Itunes library file). The images in the folder are stored in subfolders with ultra-unhelpful names, with the .jpg filenames likewise ultra unhelpful, so don't count on being able to match up album and artwork and insert the image into the metadata yourself after Itunes does the work of finding and downloading it.

    Itunes will only get artwork for albums whose metadata match up with metadata in its database. If something doesn't match up (you changed something to be more sensible, or Apple's database has a typo, etc), or if the album doesn't seem to exist in its database, it will not recognize the album. There are a lot of albums that it's never recognized for me, despite my having a quite modest music library.

    IDK about "automatically update artwork." Sorry.

    • jwz says:

      whatever mutant thing has replaced itunes

      It's still just iTunes. They factored out some junk like the podcast player, and did a global replace of "iTunes" with "Music". It has all the same bugs and even the AppleScript bindings have the same names.

  2. Lou says:

    Im like 75% sure of this answer, but as far as I can tell, “automatically update artwork” updates the image associated with the group/artist in apple’s iTunes/music software. It is not added to the id3 and I’m not even sure where those images are stored (and I’ve spent some time looking for them in the past).

    • jwz says:

      It is not news that there are dozens of sites publishing the same set of lyrics, and that some of them have login-required APIs. None of these facts are what I was asking about.

  3. o.o says:

    I recently upgraded to Catalina, and the switch to "Music" clobbered thousands of album and artist artwork images. AFAICT there is no way to restore them programatically, so I held my breath and clicked "Automatically Update Artwork", which did...very little. I guess it's better to fail open, but it didn't update many missing images at all, and it looks like the ones that did get updated didn't get pushed to my iPhone.

  4. organics says:

    The LyricWiki people shut themselves down when the admins didn't censor album covers and offensive lyrics like the Fandom people insisted that they should.

    It's a stupid reason but personally I don't miss the place due to shitty experiences with the admins though lmao. Utterly full of themselves. Later found out that a major Wikipedia editor (has his own entry in the 'Pedia itself) got banned for caring about their content--what a tragedy :^)

    The lyrics plugin for Audacious (Linux) used to rely on LyricWiki and now relies on https://lyrics.ovh/, which presumably aggregates lyrics from other places in mysterious and undisclosed ways.

  5. Ingmar says:

    The Openlyrics plugin for fb2k seems to manage this more or less: After some minimal configuring, lyrics show up for most of the songs in my collection.

    Didn't have to create any API keys. Mine's configured to use these things, in that order: QQ Music, NetEase Online Music, azlyrics.com, genius.com.

    Quick glance at the lyrics source plugins show at least the first two using JSON (and needed Referer headers): https://github.com/jacquesh/foo_openlyrics/tree/master/src/sources

  6. mtf says:

    I've been having good luck with musicbrainz picard with the happi.dev lyrics plugin.

    You do need an API key.

    Before that I was working on a script that calls the a lyricsgenius api, and the lyrics fetching side of that worked pretty well, but I wasn't having fun making a UX to confirm it found the correct song.
    Also needs an API key.

    Musicbrainz picard has been a better overall solution for me because I like the tag database lookup, and it can put disk number in the filename only if there is more than one disk which had been frustrating me.

    • jwz says:

      "Which of these dozens or hundreds of sites have a login-required API that I could choose to write brand new code to talk to is really for sure I promise not even within a mile of any of the questions I was asking.

Leave a Reply

Your email address will not be published. But if you provide a fake email address, I will likely assume that you are a troll, and not publish your comment.

You may use these HTML tags and attributes: <a href="" title=""> <b> <blockquote cite=""> <code> <em> <i> <s> <strike> <strong> <img src="" width="" height="" style=""> <iframe src="" class=""> <video src="" class="" controls="" loop="" muted="" autoplay="" playsinline=""> <div class=""> <blink> <tt> <u>, or *italics*.

  • Previously