SheamusPatt / musicbrainz-isrcsubmit

script to submit ISRCs from disc to musicbrainz
http://jonnyjd.github.io/musicbrainz-isrcsubmit/
GNU General Public License v3.0
2 stars 0 forks source link

Add support for mora files #2

Closed ToadKing closed 3 years ago

ToadKing commented 3 years ago

The Japanese store mora has ISRC tags in its files, but it does not use the ISRC to store them. It instead has a tag name that's a UUID, 93a74bea-ce97-5571-a56a-c5084dba9873.

SheamusPatt commented 3 years ago

What file format to they use eg. Flac, MP4? The new support relies on mutagen for tagging support. As long as it's a file format they support, it wouldn't be difficult even with a unique tag name. If not, though, it would be a lot of effort.

ToadKing commented 3 years ago

I've only downloaded FLAC files from them so they're in FLAC/VorbisComment tags.

SheamusPatt commented 3 years ago

I've added that tag if it can't find ISRC, just for FLAC files. Can you try it out? You can download it here (save on top of the earlier isrcDigitalSubmit.py . If it works for you I'll merge it into master.

ToadKing commented 3 years ago

Your file doesn't run.

  File "/home/xxx/isrcDigitalSubmit.py", line 152
    self._isrc = track.get("ISRC") if track.get("ISRC") 
                                                        ^
SyntaxError: invalid syntax
SheamusPatt commented 3 years ago

Sorry, should have tested it first. Download it again, it should be fixed now.

ToadKing commented 3 years ago

Seems to work for the FLAC file I have.

isrcDigitalSubmit 2.2.2 by SheamusPatt
Artist:         岡部啓一
Release:        NieR Replicant -10+1 Years- (Official)
Release Event:  2021-09-15      XW
Barcode:        4988601468541
Catalog No.:    SQEX-10859-1
MusicBrainz ID: 36517959-2faf-4cf2-af6d-d00ceae7187a
JPA842003794 is already attached to track 4

No new ISRCs could be found.

I don't know if the AAC files they provide have tags as well. If I ever buy one of them I'll be sure to check though.

SheamusPatt commented 3 years ago

That's great. I'll put that into master - should show up in v2.2.2. Thanks for the feedback.

SheamusPatt commented 3 years ago

Fix committed to master, will appear in v2.2.2 release.

ToadKing commented 3 years ago

I bought an AAC/MP4 file from the site and it looks like they have the ISRC codes as well, but they're not in normal tags. They're in UUID atoms instead with what appears to be a somewhat custom format which is probably gonna be a huge pain to extract.

image

SheamusPatt commented 3 years ago

Yes, same UUID only it's in that obscure M4A uuid tag format. the digit '0' is actually the length, I think (48 bytes). 16 bytes are the UUID (binary). 12 bytes at the end are the ISRC. I can't figure out what the bytes in the middle represent. If you can send me the output from running mutagen_inspect.py (in the mutagen package), it might help. The script in the version I have doesn't run, though - seems to be some coding errors. Update: the scripts do work quite well, only it's necessary to run "setup.py install" and run the wrappers it installs in /usr/local/bin or whatever. Just running the distributed .py versions doesn't work.

ToadKing commented 3 years ago

I ran the script but it doesn't print out the UUID atoms.

- MPEG-4 audio (AAC LC), 303.48 seconds, 319992 bps (audio/mp4)
aART=石渡 太輔, 橋本 直樹 & アークシステムワークス
covr=[1645143 bytes of data]
desc=JASRAC / NEW GUILTY GEAR(Promotion Music)
disk=(1, 0)
trkn=(1, 0)
©ART=石渡 太輔, 橋本 直樹 & アークシステムワークス
©alb=Smell of the Game (『NEW GUILTY GEAR』Promotion Music)
©cmt= 
©day= 
©gen= 
©nam=Smell of the Game (『NEW GUILTY GEAR』Promotion Music)
©prt=(P) 2019 NEW GUILTY GEAR(Promotion Music)
©wrt=石渡 太輔