[WS] Soundcloud.com

Web Source Script for getting Cover Artwork and other Tags from SoundCloud .

Mp3tag Ver: Windows v3.23 | Mac ver 1.8.4

Download:
Soundcloud.zip (2.1 KB)

What it does:
Extracts COVER IMAGE, TITLE, ARTIST, GENRE Tags from SoundCloud

How to configure
You can configure the script with the Tag Source settings menu and disable the fields you dont want to be output

Limits:
ARTIST is the Uploader (Soundcloud Username) of the Track, disable in Settings if not desired
GENRE is sometimes not available for parsing, depends on the Track.

DISCLAIMER:
Script might be inconsistent and needs further testing.
Will only find a few results as only the popular searches are displayed by Soundcloud and the normal search functionality does not work because that would need Javascript.

1 Like

I'm going to test and see what I find.

This plugin no longer works after updating to Mp3Tag macOS Version 1.8.22 (105).
I get the following error when clicking the Search button:

ERROR(L24): unknown command 'debugwriteinput'.

Edit: checking in the script, there are debug lines with hard coded paths...
Deactivating them helped get the script execution further, but after saving the found selection, I get:

ERROR(L97/regexpreplace): The value “(?(?!Genre)((?<=" ).">(.)</a>)|( width=.*))” is invalid..

You can just disable the Line 24 if you put a # character in front of the line
DebugWriteInput "C:\Users\lionn\AppData\Roaming\ Mp3tag\data\sources\debug\soundcloud DEBUG INPUT.html" # DEBUG
in the text file
SoundCloud WS.inc

It should look like this:
# DebugWriteInput "C:\Users\lionn\...

The same should work for Line 83 and 132 - if necessary on macOS.

Yes but now I am getting:

ERROR(L97/regexpreplace): The value “(?(?!Genre)((?<=" ).">(. ))|( width=.*))” is invalid.

@Audioman2000 should have a look at this.

I've tried to simplify a bit and removed the debug output. Can you try this version:

Soundcloud.zip (2.1 KB)

2 Likes

Works like a charm ! Thanks for the quick fix!

Thank you for fixing the script Florian. Am i allowed to update the original post with your version as download?

1 Like

Yes, absolutely – Thank you!

1 Like

Any reason why it stops working when change it to use a submenu? --> #

I found it's hardcoded to find a certain file...

Also I made some personal changes to the script:

  • Changed it so it sits nicely in a submenu instead of making the main tags sources menu longer.
  • It adds the SC url as WWW (I respect ppl who output their music for free and it's handy to find more music of them later on)
  • It makes sure that when bootlegs are tagged the original artist (before "-") is marked as the ORIGARTIST
  • Made it save published date as RELEASETIME (for rekordbox users).

See that mp3tag only loads webpages without Javascript, grabbing the grey SoundCloud tags isn't possible?

Idk if y'all want it. Just holla.

EDIT AGAIN: I've also made it use everything between () without things as "flip" or "remix" as MIXARTIST aka "remixer" for Rekordbox

2 Likes

Seems very well. I would like to try the script.

1 Like

hey could i please get your edited script?
ive been failing to get the proper genre and cant get the www tag to fill properly

1 Like

SC.zip (7.8 KB)

My apologies for being not reacting sooner @djepeto

YMMV

2 Likes

Hey guys! Is it possible to make a script so that it parses information from a direct url link?

Hi @pashok326, I think stevehero has something like that in his beatport websource script so it should generally be possible. However as soundcloud uses javascript for displaying the page, i am not sure if it is possible for soundcloud.

[example track url: Stream Gib nicht auf by Karu Uptime | Listen online for free on SoundCloud ]

sometimes when fetching metadata, the genre is filled “popular searches” (like so)

while this is the track on soundcloud. the soundcloud genre tag is “dance & edm” but i don’t want that, i want the #makina tag (generally the genre information is actually in these tags, similar to “style” from discogs and there can be a bunch of them)


it also contains publisher/label information (uptime records)

is there a way to gather this as well?

I’ve managed to use the hydration script that loads on the track page. This allows for way more data to be read from file. Make sure to update the settings first. Use the v33 or newer.

V2.28 below:

SoundCloud WS V2.28.zip (3.2 KB)