Feedback and support thread for the Pulsewidth a-tisket instance

This is why I don’t get down to this level of adding differences on digital releases. Spotify sometimes has the Japanese scripts on JP releases, even here in the US when I look at them. Sometimes they don’t. I don’t set up releases with different scripts as that’s up to your personal local settings and not the release many times. Deezer almost always is correct on dates when the others aren’t, so including them will get you the correct dates, most of the time. Technically, any transliterations that are “official” due to a different link, like having JP in the Apple Music URL as opposed to US are not pseudo-releases, but you can add them as a separate official release, even everything else is the same. I’d keep them identical in the metadata outside of the scripts or language and just add a disambiguation as to “official transliteration” or similar on the US versions of JP releases. I personally look at the ISRCs and use that as what official link I use. If it has JP ISRCs, then the JP Apple Music link is used, and so on. So, for this release I normally only add the JP release.

This is a Worldwide release as a-tisket says it’s Worldwide, except China (Don’t Force the Vocal to Sing Like This. by T+pazolite & Nanahira | a‐tisket: A multi‐source seeder for MusicBrainz). However, a quick look at the Deezer API shows it’s in China. https://api.deezer.com/track/2083618337 - shows CN as available. a-tisket is currently set up to omit any countries that aren’t on the distribution list that Deezer has on their site, so anytime a country comes up omitted I take a quick look at the Deezer API (Marlons’ a-tisket did this for you, but is now dead, unfortunately). Notice that it has to be on one of the tracks for the country list to show up there. Also, Deezer does have JP releases, but just like Apple Music, defaults unless you specify county in URL. For some odd reason, Deezer uses “JA” instead of “JP”, see this release here: https://www.deezer.com/ja/album/389976947. Yes, this is all confusing, which is why I base all my adds on the country of origin, but if one wants to separate out the different scripts into separate releases, you can always add both.

1 Like

yes, the transl(iter)ated relationship should be used for official transliterations too. for example, many classical releases have multilingual track lists such as this one.

3 Likes

Seems to not be finding Deezer countries from the API. When I go to the Deezer API, they show up, but a-tisket isn’t finding them. It finds the release, just not the countries.

https://api.deezer.com/track/78871347

1 Like

By looking through the source code of this JS Tidal API library I found out how to use the TIdal API without authentication. The gist of it:

Get album

get_album() {
	# The countryCode parameter is required
	curl "https://api.tidal.com/v1/albums/$1?countryCode=$2" \
		-H x-tidal-token:gsFXkJqGrUNoYMQPZe4k3WKwijnrp8iGSwn3bApe
}
get_album 62053271 AU
{
	"id": 62053271,
	"title": "You",
	"duration": 1758,
	"streamReady": true,
	"streamStartDate": "2016-06-24T00:00:00.000+0000",
	"allowStreaming": true,
	"premiumStreamingOnly": false,
	"numberOfTracks": 8,
	"numberOfVideos": 0,
	"numberOfVolumes": 1,
	"releaseDate": "2016-06-24",
	"copyright": "2016 Young Culture",
	"type": "ALBUM",
	"version": null,
	"url": "http://www.tidal.com/album/62053271",
	"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
	"vibrantColor": "#FFFFFF",
	"videoCover": null,
	"explicit": false,
	"upc": "190394605940",
	"popularity": 0,
	"audioQuality": "LOSSLESS",
	"audioModes": [
		"STEREO"
	],
	"artist": {
		"id": 7923949,
		"name": "Young Culture",
		"type": "MAIN",
		"picture": null
	},
	"artists": [
		{
			"id": 7923949,
			"name": "Young Culture",
			"type": "MAIN",
			"picture": null
		}
	]
}

Get album tracks

get_album_tracks() {
	# Again the countryCode parameter is required
	curl "https://api.tidal.com/v1/albums/$1/tracks?countryCode=$2" \
		-H x-tidal-token:gsFXkJqGrUNoYMQPZe4k3WKwijnrp8iGSwn3bApe
}
get_album_tracks 62053272 AU
{
    "limit": 8,
    "offset": 0,
    "totalNumberOfItems": 8,
    "items": [
        {
            "id": 62053272,
            "title": "Home to Me",
            "duration": 187,
            "replayGain": -12.28,
            "peak": 0.974456,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 1,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053272",
            "isrc": "USDY41658853",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053273,
            "title": "Ready for You",
            "duration": 236,
            "replayGain": -12.28,
            "peak": 0.974426,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 2,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053273",
            "isrc": "USDY41658854",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053274,
            "title": "Bedroom Floor (feat. Derek DiScanio)",
            "duration": 221,
            "replayGain": -12.28,
            "peak": 0.974456,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 3,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053274",
            "isrc": "USDY41658855",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053275,
            "title": "By Your Side",
            "duration": 204,
            "replayGain": -12.28,
            "peak": 0.974426,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 4,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053275",
            "isrc": "USDY41658856",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053276,
            "title": "Stupid Kid",
            "duration": 222,
            "replayGain": -12.28,
            "peak": 0.974456,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 5,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053276",
            "isrc": "USDY41658857",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053277,
            "title": "Seattle",
            "duration": 208,
            "replayGain": -12.28,
            "peak": 0.974456,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 6,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053277",
            "isrc": "USDY41658858",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053278,
            "title": "Fidelity",
            "duration": 203,
            "replayGain": -12.28,
            "peak": 0.974456,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 7,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053278",
            "isrc": "USDY41658859",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        },
        {
            "id": 62053279,
            "title": "Every Night",
            "duration": 277,
            "replayGain": -12.28,
            "peak": 0.974456,
            "allowStreaming": true,
            "streamReady": true,
            "streamStartDate": "2016-06-24T00:00:00.000+0000",
            "premiumStreamingOnly": false,
            "trackNumber": 8,
            "volumeNumber": 1,
            "version": null,
            "popularity": 0,
            "copyright": "2016 Young Culture",
            "url": "http://www.tidal.com/track/62053279",
            "isrc": "USDY41658860",
            "editable": false,
            "explicit": false,
            "audioQuality": "LOSSLESS",
            "audioModes": [
                "STEREO"
            ],
            "artist": {
                "id": 7923949,
                "name": "Young Culture",
                "type": "MAIN",
                "picture": null
            },
            "artists": [
                {
                    "id": 7923949,
                    "name": "Young Culture",
                    "type": "MAIN",
                    "picture": null
                }
            ],
            "album": {
                "id": 62053271,
                "title": "You",
                "cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
                "vibrantColor": "#FFFFFF",
                "videoCover": null
            },
            "mixes": {}
        }
    ]
}

I’m not sure if there’s a way to search by UPC, but maybe support for seeding releases with a Tidal link/id could be doable as the API returns useful info like the UPC and ISRCs. It’s a bit of a shame a-tisket is closed source because I wouldn’t mind helping out implement things like these.

I’m still pretty new to MB so if there’s a tool that can already seed releases via Tidal please let me know!

6 Likes

The closest we have is Xythium’s TIDAL importer, which doesn’t have a mechanism for adding releases to MB.

3 Likes

Huh, cool. I was going to say that the X-Tidal-Token header makes it seem like authentication is still needed, but it sounds from https://github.com/spencercharest/tidal-api/issues/12 like the token that you mentioned has been working since May 2020 (if not earlier), so it’s probably reasonably safe to depend on it.

Does Tidal carry much in the way of material that can’t be seeded from somewhere else? If so, I’d be willing to add support for seeding releases from there using yambs. (I don’t do much/any streaming, so I haven’t used Tidal since they shut their store down last year.)

2 Likes

Yes. They have exclusive versions of albums in Master Quality Audio (MQA) that can’t be streamed elsewhere.

3 Likes

Makes sense. Pulling data from Tidal is pretty easy, so I’ll check in basic support soon (as tracked here). People seem to have strong opinions about how streaming data should be represented in MusicBrainz (particularly around release countries), so I’m open to adding more features if people ask for them. :slight_smile:

4 Likes

yambs.erat.org should understand Tidal album URLs now. Please file bugs, suggestions, etc. at https://github.com/derat/yambs/issues, and apologies for the thread hijack.

5 Likes

If you could pull countries, that’d be great. I still think this info should go in the annotation, but not the release country lists.

4 Likes

The command-line program (but not the web server) will query all countries when -country XW is passed now, and it’ll add a brief annotation listing the countries where the full tracklist is available if there are 10 or fewer of them: Support multi-country Tidal lookups · Issue #18 · derat/yambs · GitHub

2 Likes

I know atisket is in ‘holding mode’, but sneaky feature request:

Can it auto-set Apple Music links to ‘streaming’? Everything I’ve ever added this would save me the same two clicks. (On rare occasions a user may have to change it)

Yes, it can… and that’s what it already does by default ever since the URL format was changed from iTunes to Apple Music links :smile:
You only have to add “purchase for download” manually if the Apple Music page says “Also available in the iTunes store”, but I guess only few people actually do this.

4 Likes

Oh man, my brain is sludge, apparently! A sludgy mess! This was revisiting some work I was doing during the holidays, adding heaps of stuff with atisket.

I now realise that I actually wanted it to set the artist Apple relationship to ‘streaming’ automatically… thanks @kellnerd

It does this too, if you click through from the complementary links page.

3 Likes

giphy

6 Likes

Currently getting “No Spotify data: Server has invalid Spotify API key.” Not sure if this resolves it’s self on it’s own or something you have to fix.

2 Likes

That issue seems to be resolved now :tada:

2 Likes

You’re right! Seems to be working. Back to working on adding I guess!

1 Like

I’m getting error 500 when searching for releases now, been going for a few hours.

EDIT: wait, no. it’s just one release that points to a spotify URL that doesn’t go anywhere. (yet)

Example, try searching for this url: http://open.spotify.com/album/asdaffsasafasffafaffas
all you get is a blank page.

The site isnt broken but searching for something that doesn’t exist can lead to some confusing results.

1 Like