Does anyone know of an ID3 editor that will display individual ID3 frames and allow you to delete specific frames? I currently use Media Rage, but as it's 32 bit, it won't run on the next version of macOS.
As an example, here's the ID3 data from an mp3 file as shown by Media Rage. The application allows you to delete any frame from a batch of files.
-- MP3Tag --
originalVersion = 0x04
originalRevision = 0x00
originalFlags = 0x00
v1Version = 0x11
originalSize = 239616
musicDataStart = 239616
musicDataSize = 9146119
frameCount = 15
-- frame 1 --
flags = 0x00000001
category = 0x00000000
kind = 0x54535345
v3ID = TSSE
v2ID = TSS
originalFlags = 0x00000000
dataSize = 48
dataPtr =
0000: 004C414D 45203332 62697473 20766572 |^LAME 32bits ver|
0010: 73696F6E 20332E39 392E3520 28687474 |sion 3.99.5 (htt|
0020: 703A2F2F 6C616D65 2E73662E 6E657429 |p://lame.sf.net)|
-- frame 2 --
flags = 0x00000001
category = 0x00000000
kind = 0x54495432
v3ID = TIT2
v2ID = TT2
originalFlags = 0x00000000
dataSize = 32
dataPtr =
0000: 00494E49 54494154 494F4E20 286D6978 |^INITIATION (mix|
0010: 65642062 7920546F 6D204675 72736529 |ed by Tom Furse)|
-- frame 3 --
flags = 0x00000001
category = 0x00000000
kind = 0x54504531
v3ID = TPE1
v2ID = TP1
originalFlags = 0x00000000
dataSize = 8
dataPtr =
0000: 0067726F 75702041 |^group A````````|
-- frame 4 --
flags = 0x00000001
category = 0x00000000
kind = 0x54434F4E
v3ID = TCON
v2ID = TCO
originalFlags = 0x00000000
dataSize = 11
dataPtr =
0000: 00456C65 6374726F 6E6963 |^Electronic`````|
-- frame 5 --
flags = 0x00000001
category = 0x00000000
kind = 0x41504943
v3ID = APIC
v2ID = PIC
originalFlags = 0x00000000
dataSize = 151783
dataPtr =
0000: 00696D61 67652F6A 70656700 0000FFD8 |^image/jpeg^^^^^|
0010: FFE00010 4A464946 00010101 00480048 |^^^^JFIF^^^^^H^H|
0020: 0000FFDB 00430002 01010101 01020101 |^^^^^C^^^^^^^^^^|
0030: 01020202 02020403 02020202 05040403 |^^^^^^^^^^^^^^^^|
0040: 04060506 06060506 06060709 08060709 |^^^^^^^^^^^^^^^^|
0050: 07060608 0B08090A 0A0A0A0A 06080B0C |^^^^^^^^^^^^^^^^|
0060: 0B0A0C09 0A0A0AFF DB004301 02020202 |^^^^^^^^^^C^^^^^|
0070: 02020503 03050A07 06070A0A 0A0A0A0A |^^^^^^^^^^
-- frame 6 --
flags = 0x00000001
category = 0x00000000
kind = 0x54414C42
v3ID = TALB
v2ID = TAL
originalFlags = 0x00000000
dataSize = 16
dataPtr =
0000: 00546F6D 20467572 73652052 656D6978 |^Tom Furse Remix|
-- frame 7 --
flags = 0x00000001
category = 0x00000000
kind = 0x54594552
v3ID = TYER
v2ID = TYE
originalFlags = 0x00000000
dataSize = 5
dataPtr =
0000: 00323031 35 |^2015```````````|
-- frame 8 --
flags = 0x00000001
category = 0x00000000
kind = 0x49504C53
v3ID = IPLS
v2ID = IPL
originalFlags = 0x00000000
dataSize = 1
dataPtr =
0000: 00 |^```````````````|
-- frame 9 --
flags = 0x00000001
category = 0x00000000
kind = 0x54505542
v3ID = TPUB
v2ID = TPB
originalFlags = 0x00000000
dataSize = 13
dataPtr =
0000: 005B536F 756E6463 6C6F7564 5D |^[Soundcloud]```|
-- frame 10 --
flags = 0x00000001
category = 0x00000000
kind = 0x5449504C
v3ID = TIPL
v2ID =
originalFlags = 0x00000000
dataSize = 6
dataPtr =
0000: 004A6170 616E |^Japan``````````|
-- frame 11 --
flags = 0x00000001
category = 0x00000000
kind = 0x5452434B
v3ID = TRCK
v2ID = TRK
originalFlags = 0x00000000
dataSize = 4
dataPtr =
0000: 00312F32 |^1/2````````````|
-- frame 12 --
flags = 0x00000001
category = 0x00000000
kind = 0x544B4559
v3ID = TKEY
v2ID = TKE
originalFlags = 0x00000000
dataSize = 3
dataPtr =
0000: 00366D |^6m`````````````|
-- frame 13 --
flags = 0x00000001
category = 0x00000000
kind = 0x54445243
v3ID = TDRC
v2ID =
originalFlags = 0x00000000
dataSize = 5
dataPtr =
0000: 00323031 35 |^2015```````````|
-- frame 14 --
flags = 0x00000001
category = 0x00000000
kind = 0x5442504D
v3ID = TBPM
v2ID = TBP
originalFlags = 0x00000000
dataSize = 4
dataPtr =
0000: 00313233 |^123````````````|
-- frame 15 --
flags = 0x00000001
category = 0x00000000
kind = 0x50524956
v3ID = PRIV
v2ID =
originalFlags = 0x00000000
dataSize = 87020
dataPtr =
0000: 5452414B 544F5234 00444D52 54D75101 |TRAKTOR4^DMRT^Q^|
0010: 00020000 00524448 20300000 00030000 |^^^^^RDH 0^^^^^^|
0020: 00534B48 43040000 00000000 00A44587 |^SKHC^^^^^^^^^E^|
0030: 00444F4D 46040000 00000000 000B08E0 |^DOMF^^^^^^^^^^^|
0040: 074E5352 56040000 00000000 00070000 |^NSRV^^^^^^^^^^^|
0050: 00415441 448F5101 001A0000 0042444E |^ATAD^Q^^^^^^BDN|
0060: 41040000 00000000 00003588 3F575452 |A^^^^^^^^^5^?WTR|
0070: 4171F400 00000000 00087D00 00007D00 |Aq^^^^^^^^
--
As an example, here's the ID3 data from an mp3 file as shown by Media Rage. The application allows you to delete any frame from a batch of files.
-- MP3Tag --
originalVersion = 0x04
originalRevision = 0x00
originalFlags = 0x00
v1Version = 0x11
originalSize = 239616
musicDataStart = 239616
musicDataSize = 9146119
frameCount = 15
-- frame 1 --
flags = 0x00000001
category = 0x00000000
kind = 0x54535345
v3ID = TSSE
v2ID = TSS
originalFlags = 0x00000000
dataSize = 48
dataPtr =
0000: 004C414D 45203332 62697473 20766572 |^LAME 32bits ver|
0010: 73696F6E 20332E39 392E3520 28687474 |sion 3.99.5 (htt|
0020: 703A2F2F 6C616D65 2E73662E 6E657429 |p://lame.sf.net)|
-- frame 2 --
flags = 0x00000001
category = 0x00000000
kind = 0x54495432
v3ID = TIT2
v2ID = TT2
originalFlags = 0x00000000
dataSize = 32
dataPtr =
0000: 00494E49 54494154 494F4E20 286D6978 |^INITIATION (mix|
0010: 65642062 7920546F 6D204675 72736529 |ed by Tom Furse)|
-- frame 3 --
flags = 0x00000001
category = 0x00000000
kind = 0x54504531
v3ID = TPE1
v2ID = TP1
originalFlags = 0x00000000
dataSize = 8
dataPtr =
0000: 0067726F 75702041 |^group A````````|
-- frame 4 --
flags = 0x00000001
category = 0x00000000
kind = 0x54434F4E
v3ID = TCON
v2ID = TCO
originalFlags = 0x00000000
dataSize = 11
dataPtr =
0000: 00456C65 6374726F 6E6963 |^Electronic`````|
-- frame 5 --
flags = 0x00000001
category = 0x00000000
kind = 0x41504943
v3ID = APIC
v2ID = PIC
originalFlags = 0x00000000
dataSize = 151783
dataPtr =
0000: 00696D61 67652F6A 70656700 0000FFD8 |^image/jpeg^^^^^|
0010: FFE00010 4A464946 00010101 00480048 |^^^^JFIF^^^^^H^H|
0020: 0000FFDB 00430002 01010101 01020101 |^^^^^C^^^^^^^^^^|
0030: 01020202 02020403 02020202 05040403 |^^^^^^^^^^^^^^^^|
0040: 04060506 06060506 06060709 08060709 |^^^^^^^^^^^^^^^^|
0050: 07060608 0B08090A 0A0A0A0A 06080B0C |^^^^^^^^^^^^^^^^|
0060: 0B0A0C09 0A0A0AFF DB004301 02020202 |^^^^^^^^^^C^^^^^|
0070: 02020503 03050A07 06070A0A 0A0A0A0A |^^^^^^^^^^
-- frame 6 --
flags = 0x00000001
category = 0x00000000
kind = 0x54414C42
v3ID = TALB
v2ID = TAL
originalFlags = 0x00000000
dataSize = 16
dataPtr =
0000: 00546F6D 20467572 73652052 656D6978 |^Tom Furse Remix|
-- frame 7 --
flags = 0x00000001
category = 0x00000000
kind = 0x54594552
v3ID = TYER
v2ID = TYE
originalFlags = 0x00000000
dataSize = 5
dataPtr =
0000: 00323031 35 |^2015```````````|
-- frame 8 --
flags = 0x00000001
category = 0x00000000
kind = 0x49504C53
v3ID = IPLS
v2ID = IPL
originalFlags = 0x00000000
dataSize = 1
dataPtr =
0000: 00 |^```````````````|
-- frame 9 --
flags = 0x00000001
category = 0x00000000
kind = 0x54505542
v3ID = TPUB
v2ID = TPB
originalFlags = 0x00000000
dataSize = 13
dataPtr =
0000: 005B536F 756E6463 6C6F7564 5D |^[Soundcloud]```|
-- frame 10 --
flags = 0x00000001
category = 0x00000000
kind = 0x5449504C
v3ID = TIPL
v2ID =
originalFlags = 0x00000000
dataSize = 6
dataPtr =
0000: 004A6170 616E |^Japan``````````|
-- frame 11 --
flags = 0x00000001
category = 0x00000000
kind = 0x5452434B
v3ID = TRCK
v2ID = TRK
originalFlags = 0x00000000
dataSize = 4
dataPtr =
0000: 00312F32 |^1/2````````````|
-- frame 12 --
flags = 0x00000001
category = 0x00000000
kind = 0x544B4559
v3ID = TKEY
v2ID = TKE
originalFlags = 0x00000000
dataSize = 3
dataPtr =
0000: 00366D |^6m`````````````|
-- frame 13 --
flags = 0x00000001
category = 0x00000000
kind = 0x54445243
v3ID = TDRC
v2ID =
originalFlags = 0x00000000
dataSize = 5
dataPtr =
0000: 00323031 35 |^2015```````````|
-- frame 14 --
flags = 0x00000001
category = 0x00000000
kind = 0x5442504D
v3ID = TBPM
v2ID = TBP
originalFlags = 0x00000000
dataSize = 4
dataPtr =
0000: 00313233 |^123````````````|
-- frame 15 --
flags = 0x00000001
category = 0x00000000
kind = 0x50524956
v3ID = PRIV
v2ID =
originalFlags = 0x00000000
dataSize = 87020
dataPtr =
0000: 5452414B 544F5234 00444D52 54D75101 |TRAKTOR4^DMRT^Q^|
0010: 00020000 00524448 20300000 00030000 |^^^^^RDH 0^^^^^^|
0020: 00534B48 43040000 00000000 00A44587 |^SKHC^^^^^^^^^E^|
0030: 00444F4D 46040000 00000000 000B08E0 |^DOMF^^^^^^^^^^^|
0040: 074E5352 56040000 00000000 00070000 |^NSRV^^^^^^^^^^^|
0050: 00415441 448F5101 001A0000 0042444E |^ATAD^Q^^^^^^BDN|
0060: 41040000 00000000 00003588 3F575452 |A^^^^^^^^^5^?WTR|
0070: 4171F400 00000000 00087D00 00007D00 |Aq^^^^^^^^
--