Help with labels

I’m working on inputting “キメラ”, a JP compilation album, into the database. What has me stuck right now is the label.

So on the Apple Music page (digital release) for the album, it is credited to “CHIMERA Records”. On the Amazon release (physical release), it is credited to “SMM itaku”. However, the inner sleeve of the physical album (apologies for the low res picture, I haven’t been able to find any others) also credits it to CHIMERA Records. They also have a Twitter linking to a website entirely based off the キメラ album, so it may have been created just for the album. The YouTube teaser also credits the songs to CHIMERA Records.

None of these are in the database, but SMM itaku seems to be credited on other albums, such as this Splatoon 2 album. For all of their albums though, SMM itaku is also credited as the manufacturer, so Amazon might be miscrediting the label. This is supported by how SMM itaku is not credited as the label for any of their albums in the MB database.

I think I’m over-complicating this, so should I just create a new label for CHIMERA Records? Sorry if this is super simple, I just wanted to be sure before I created anything.

Yes, just make a new label for CHIMERA Records. Amazon has a lot of issues on labels historically and I wouldn’t trust them without verification of an actual image of the back cover art. They are getting better, but that is probably a distributor or manufacturer and not always the release label. I’d definitely go with the label Apple Music is reporting if you create an Apple Music release and you are correct they list that as not only copyright label, but the actual release label as well. Make sure though that the Amazon release you link & the Apple Music release are 2 separate releases as the Amazon is for the CD. But looking at your image, the physical release is likely just CHIMERA Records as well.

3 Likes

This is why Amazon physical releases is listed on How to Identify Labels - MusicBrainz as a bad thing. That is their codename for a distributor (emphasis on codename, because it’s not the name of a company you’d find on the release itself).

There is never a case where you should pick the “label” from a CD product page on Amazon.

3 Likes

image

This has often confused me. That is the Phonographic Copyright, not the label. Where is the Label on an iTunes page? Or can it only be read by a script?

1 Like

iTunes doesn’t have a label field. This is why record companies like Universal Music hijacked the copyright statement to insert words like “A UNIVERSAL J release” (UNIVERSAL J is a label; UNIVERSAL MUSIC LLC is the legal name of Universal Music Japan.)

Apple Music does have a “record label” field, but many companies (including Universal Music) don’t use it.

2 Likes

The labels are now in the “view page source”. Just right click (if you have Windows, no idea how Apple computers work) on the Apple Music release page and go to “view page source” a new page will open up. Do a ctrl-f search on the page for “recordlabel” and it’s there. I’ve asked for a-tisket to be updated a couple of times to include this, but it still hasn’t been updated yet. Of course, if it has the same barcode as Spotify & Deezer, you can just use a-tisket to find the label as well. There is also a script that can grab all the info from the Apple Music page. It was on one of the forum pages, but I can’t find it. I modified it a little to help with my edits and it’ll save a ton of time for those who look for Apple Music info including barcodes, labels, etc. I wish I could find the original to give proper credit, I’ve added a few things to it that weren’t on it. Here ya go, it’ll save you time from having to do all that view page source stuff. After running it, look for a little black box in top left corner of the Apple Music page and click it, then the magic happens :-).

// @name        Apple Music Barcodes/ISRCs
// @namespace   applemusic.barcode.isrc
// @description Get Barcodes/ISRCs/etc. from Apple Music pages
// @version     0.6
// @grant       none
// @include     https://music.apple.com/*
// @grant       none
// @run-at      document-idle
// ==/UserScript==

function addSimple(content, node, parent) {
  const elem = document.createElement(node)
  elem.textContent = content
  elem.style.userSelect = 'text'
  parent.appendChild(elem)
  return elem
}

function getDatums() {
  try {
    const music_info = JSON.parse(document.getElementById('shoebox-media-api-cache-amp-music').innerHTML)

    const albums = []

    for (const [key, value] of Object.entries(music_info).filter(([key]) => key.startsWith('\uF8FF.catalog.'))) {
      const albumsData = JSON.parse(value)

      for (const albumData of albumsData.d.filter((item) => item.type === 'albums')) {
        const album = {
          name: albumData.attributes.name,
          artist: albumData.attributes.artistName,
          label: albumData.attributes.recordLabel,
          barcode: albumData.attributes.upc,
          MfiT: albumData.attributes.isMasteredForItunes,
          audio: albumData.attributes.audioTraits,
          copyright: albumData.attributes.copyright,
          tracks: [],
        }

        if (albumData.relationships.tracks) {
          for (const track_data of albumData.relationships.tracks.data) {
            const track = {
              name: track_data.attributes.name,
              artist: track_data.attributes.artistName,
              composer: track_data.attributes.composerName,
              disc: track_data.attributes.discNumber,
              track: track_data.attributes.trackNumber,
              isrc: track_data.attributes.isrc,
              track_release_date: track_data.attributes.releaseDate
            }

            album.tracks.push(track)
          }
        }

        albums.push(album)
      }
    }

    if (albums.length === 0) {
      throw new Error('no albums found')
    }

    const results = addSimple('', 'div', document.body)
    results.style.position = 'absolute'
    results.style.inset = '30px'
    results.style.zIndex = 2147483647
    results.style.background = 'white'
    results.style.color = 'black'
    results.style.overflow = 'auto'
    results.style.padding = '4px'

    for (const album of albums) {
      addSimple(album.name, 'h1', results)
      addSimple(album.artist, 'h2', results)
      addSimple(`Label: ${album.label}`, 'p', results)
      addSimple(`Barcode: ${album.barcode}`, 'p', results)
      addSimple(`MfiT: ${album.MfiT}`, 'p', results)
      addSimple(`Audio: ${album.audio}`, 'p', results)
      addSimple(`Copyright: ${album.copyright}`, 'p', results)

      const hasMultipleDiscs = album.tracks.some(t => t.disc !== 1)

      const table = addSimple('', 'table', results)
      table.style.width = '100%'
      table.style.borderCollapse = 'separate'
      table.style.borderSpacing = '2px'
      table.setAttribute('border', '1')
      const thead = addSimple('', 'thead', table)
      thead.style.fontWeight = 'bold'
      const tr = addSimple('', 'tr', thead)
      const t1 = addSimple('Track', 'td', tr)
      t1.style.background = 'white'
      t1.style.position = 'sticky'
      t1.style.top = 0
      const t2 = addSimple('Title', 'td', tr)
      t2.style.background = 'white'
      t2.style.position = 'sticky'
      t2.style.top = 0
      const t3 = addSimple('Artist', 'td', tr)
      t3.style.background = 'white'
      t3.style.position = 'sticky'
      t3.style.top = 0
      const t4 = addSimple('Composer', 'td', tr)
      t4.style.background = 'white'
      t4.style.position = 'sticky'
      t4.style.top = 0
      const t5 = addSimple('ISRC', 'td', tr)
      t5.style.background = 'white'
      t5.style.position = 'sticky'
      t5.style.top = 0
      const t6 = addSimple('Release Date', 'td', tr)
      t6.style.background = 'white'
      t6.style.position = 'sticky'
      t6.style.top = 0

      const tbody = addSimple('', 'tbody', table)
      for (const track of album.tracks) {
        const tr = addSimple('', 'tr', tbody)
        addSimple(hasMultipleDiscs ? `${track.disc}.${track.track}` : track.track, 'td', tr)
        addSimple(track.name, 'td', tr)
        addSimple(track.artist, 'td', tr)
        addSimple(track.composer, 'td', tr)
        addSimple(track.isrc, 'td', tr)
        addSimple(track.track_release_date, 'td', tr)
      }
    }

    const close = (e) => {
      if (e.key === 'Escape') {
        document.body.removeEventListener('keydown', close)
        results.remove()
      }
    }
    document.body.addEventListener('keydown', close)
  } catch (e) {
    alert(e)
  }
}

const clickMe = addSimple('', 'div', document.body)
clickMe.style.position = 'absolute'
clickMe.style.width = '15px'
clickMe.style.height = '15px'
clickMe.style.top = 0
clickMe.style.left = 0
clickMe.style.background = 'green'
clickMe.style.cursor = 'pointer'
clickMe.style.zIndex = 2147483647
clickMe.addEventListener('click', getDatums)
4 Likes

I’ve never seen a release without it, this year (they added it in the last couple of years). It’s the same label that Spotify & Deezer always have as the release label. But yes, it’s not always the one you want to use (especially on Japan releases, which seem to show Sony Music Labels & Universal Music LLC label as you state) and is superseded by the A such and such release if it says that. It varies from label to label. Universal does indeed seem to use the A such and such release approach more. I wish they all did, when the label being reported as a release label isn’t the true imprint.

Why did this make my post of the script so crazy???

You need to wrap the entire script in

```js
code here
```.

The final dot should not be there but if I leave that away, Discourse tries to interpret the text as it did for your post.

By the way, the original userscript was made by @Toad_King and can be found on GitHub, so you should consider opening a PR if you want to share your improvements with others.

3 Likes

Thanks for the details. I assumed it had to be there somewhere, written in white on white :smiley:

I can’t get the script to work, but don’t want to be told off for getting off topic so I’ll try another time…

(It wasn’t the quoting… it is something else. But don’t worry. I’ll work it out another time as this is OT and not relevant to the OP)

Edit: I use ViolentMonkey and had to hack around with the first few lines. Don’t know what got it to work compared to yours. Edit2: Nope, broke it again. Edit3: Fixed, just can’t use the iTunes website

// ==UserScript==
// @name        Apple Music Barcodes/ISRCs
// @description Get Barcodes/ISRCs/etc. from Apple Music pages
// @namespace   Violentmonkey Scripts
// @match       https://music.apple.com/*
// @grant       none
// @version     0.6
// @author      -
// @include     https://music.apple.com/*
// @grant       none
// @run-at      document-idle
// ==/UserScript==
1 Like

Try it again now that I have it quoted right. Maybe that was the problem.

1 Like

Thanks. GitHub intimidates me, lol. I’m trying to figure out the words they use, like fork, etc. I’m just not that computer savvy, but at least this script was set up in a way that I was at least able to figure out the variables then copy & paste, lol. The last programming I learned was Pascal in college 30 years ago.

Note: This was a reply to Kellnerd, but I can’t figure out how to make it that now. I tried and it said I couldn’t.

1 Like

Hey @tigerman325 glad you found the tool useful! I can update it with your changes but does it make sense to list the release date for the individual tracks instead of the album release date? I’m not sure if you need individual track dates for some editing purpose.

@IvanDobsky I also use ViolentMonkey and I’m not sure why you need those changes since it works for me.

@Toad_King The reason that I did that is because it can help let you know when the release date is wrong, especially on deluxe editions. Apple has a requirement to give the original release date and not true release date (which is stupid, but it is what it is). So, I added that, so that if a date pops up on a track as not being released until 6 months or a year even after the date the release is given, it reminds me to check ifpi for the date they give.

Can you link to an album where this is the case? I can add that info but for all the albums I’ve tried so far they match so I’d like to implement it where it doesn’t take up a new table column since for most cases it shouldn’t need one.

EDIT: Found one, added track release dates to the script as well. The track release dates only show up if any of them differ from the album release date, and are also highlighted.

1 Like

First example I found that kinda shows what I’m talking about. The Apple Music pages just shows a release date of January 1, 2013 (which we know is a placeholder, usually), but the track dates mostly have 9-23-2013.
‎Nothing Was the Same (Deluxe) by Drake on Apple Music