Storing ISWC (work), IPI etc info in files

Tags: #<Tag:0x00007f23c21ef310> #<Tag:0x00007f23c21ef1d0> #<Tag:0x00007f23c21ef090> #<Tag:0x00007f23c21eef50>


Picard is able to embed ISRC information in an audio file which will allow you to identify a recording.

Is there any way/possibility to be able to store the Work ISWC or IPIs (I get this may be more difficult given IPIs can be applied to multiple scenarios and even then each can contain multiple IPIs.

I’d like to take all my media with the appropriate work (additional) metadata using any unique IDs where available.


Not currently a feature of picard but this information is available from the api.
The data is in he database so someone could potentially write a plugin or add a feature to picard to include these id’s.


I think the reason that ISRCs are stored and not many other non-MB IDs, is that there’s a standard field for ISRCs. For more freeform tagging formats like Vorbis Comments, this would not be a hindrance, but for other formats that have a limited/defined set of valid tags, it may not be possible to properly just add the ISRC.

Also, just for the record, note that ISRCs are not unique identifiers. One ISRC can have been used for multiple recordings, and a single recording can have been assigned multiple ISRCs. This is, and was, not the intention of the ISRC system, but never the less it’s how it’s turned out.


I think the real reason ISRC is stored but not ISWC or IPI codes is that we didnt have works until a few years ago, and we have better coverage of ISRC’s in the database. ID3 has a TXXX field which can be used to store any textual data just like VorbisComments. The larger issue is there is not currently a defined field in any format to use these values though clearly an the way to go go would be OggVorbis comment of ISWC, ID3 TXXX:ISWC, Apple reverse dns field of ISWC etc.