Skip to main content

Topic: Batch remove iTunes tags (Read 31161 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • gism
  • [*][*]
Batch remove iTunes tags
Reply #25
Also I found this. Haven't tried myself though.

With AtomicParsley you could try to remove the following atoms:

apID - Apple account (email address)
purd - Purchase date
pinf - Purchase information

The options being:

--manualAtomRemove "moov.udta.meta.ilst.apID"
--manualAtomRemove "moov.udta.meta.ilst.purd"
--DeepScan --manualAtomRemove "moov.trak.mdia.minf.stbl.stsd.mp4a.pinf"

  • db1989
  • [*][*][*][*][*]
  • Global Moderator
Batch remove iTunes tags
Reply #26
While we’re bumping, I didn’t reply to this before:

sites which share iTunes plus albums use it
Objection: relevance. Why should the fact that an illegal file-sharer uses it be an indication that it’s good? At the very least, that doesn’t make it any more likely to resolve or not resolve the issue of the remaining embedded email address.
I recomended it because from what i can see from my experience using it deleted all personal info like i said, i have not used a hex editor before, but i do know that after using the program i was not able to see any purchase date or email when using the file in itunes.

Since the entire point of my third sentence above appears to have been missed, here it is explicitly: In my experience, even after scrubbing the purchase-related atom, the file still contained my address embedded elsewhere, as I found using a hexadecimal editor.

The fact that you can’t see it in iTunes or any other program that reads standard atoms does not mean it’s not still in the file somewhere. That was precisely why I asked whether your recommended scrubbing program tackles the embedded address. Replying only that it does delete the standard metadata-borne address is just repeating yourself and doesn’t answer the question.

As far as I’m aware, no one has provided a utility that also deletes the embedded address. This assumes the iTunes Store still writes it. If so, it would be nice if someone with knowledge of the structure of MP4 could check this and explain where exactly it’s being written.

  • Porcus
  • [*][*][*][*][*]
Batch remove iTunes tags
Reply #27
While we're bumping, I still haven't understood why the removal tools cannot be tested by purchasing two files from two different accounts and comparing them after processing?

  • db1989
  • [*][*][*][*][*]
  • Global Moderator
Batch remove iTunes tags
Reply #28
It’s a very good suggestion, which I see you made before, hence your restatement, I presume.  I guess most people are unwilling to invest a second payment merely to test the behaviour of data that they find undesirable. Or am I just generalising from my own stance?

Personally, I think technical information about the location of the embedded email address within the container is more interesting. I would assume, but never rule out any contortion of logic where certain large companies are concerned, that files scrubbed of the relevant atoms would turn out identical with the exception of this embedded address, wherever it is.

Later, when I can get a hold of an illustrative file, I’ll have another look with a hex editor and try to get a better idea of what’s going on. But as I said, I know very little about the lower-level architecture of MP4 as a container (oh, the shame!), so I might not really know what I’m looking at.

  • Porcus
  • [*][*][*][*][*]
Batch remove iTunes tags
Reply #29
Well myself I am even unwilling to open a customer relationship to Apple, but to those who did – what's another $0.69 when you have already sold your soul?


To go on with hypothetical uninformed talk: if the email addresses are of different lengths, it is not given that you get identical files upon overwriting. Then OTOH, that means your anonymity is still at risk (what if the vendor throws in so many zeroes that they can be used to differentiate between customers, and put them at a point where most taggers do not overwrite?)

But, again to reiterate my own (still not too informed) suggestion:
(I) ffmpeg'ing out the stream over to another mp4 container,
and then
(II) transferring metadata by way of tagging software which only copies those metadata atoms that it actually understands.  In this case we aren't worried that “my metadata got lost”, we are only interested in the metadata that we are able to actually read for ourselves.
This should be easily scriptable if the tagging software is – and software like mp3tag can copy+paste tags, so one could traverse X:\folderstructure\files.m4a --> Y:\copied\folderstructure\files.m4a, import the former, sorted by path, Ctrl-c, import the latter, sorted by path, Ctrl-v.

(Heck, isn't it even possible to hack this into the fb2k converter menu? :-) )
  • Last Edit: 12 June, 2013, 02:57:11 AM by Porcus

  • Bob Katz
  • [*]
Batch remove iTunes tags
Reply #30
I've got a challenge for the programmers here.

First let me set the stage.

Ian Shepherd has discovered some additional factoids about iTunes Sound Check album mode.

http://productionadvice.co.uk/sound-check-album-mode/

Here's a summary now about what we know. Since there is no documentation about this feature from Apple, it would be good to get some independent verification. I believe all of the following to be true. (Someone should make an excel matrix incorporating these factoids).

OSX:

In the album tab, Sound Check is in album mode. In the album tab in automatic shuffle mode, Sound Check remains in album mode (I think that's a good thing).

In the artists tab not in shuffle, Sound Check is in album mode. In the artist's tab in automatic shuffle mode Sound Check switches to singles mode, even if it's playing from an album. 

In playlists, Sound Check remains in album mode. I haven't checked automatic shuffle mode in playlist mode. Some exceptions: It may be possible to fool Sound Check if not including the loudest and softest songs on the album in the playlist. Needs more testing.

IOS:

The only time Sound Check album mode is engaged is in album playback. To my knowledge, all other functionality is in singles mode. I think that for portable devices this is probably a good thing.

All of the above needs more testing to confirm.

-------

Now for my challenge to the Hydrogen Audio programming experts! DJs would like to have a Sound Check singles mode for manually-created playlists for "dance parties." According to my testing, the only way to put iTunes into Singles mode when playing playlists is to remove the album name reference from the get info box. And even then it's necessary to restart iTunes to make it work. This is an awkward work around to say the least.

My challenge is to see if an Applescript or an application could be developed that removes all the album references from the iTunes database (or from the AAC tags if that's where it's kept) and restores them after a DJ party, so Sound Check album mode could be restored at will. My personal wish is that if (when?) Apple makes Sound Check a default in iTunes, it adds a few hidden preferences so us geeks could have a field day.  :-).

Good luck. The prize to the winner will be a mention in the next edition of my book!

  • mudlord
  • [*][*][*][*][*]
  • Developer (Donating)
Batch remove iTunes tags
Reply #31
I personally would prefer a small tool that doesnt rely on outside code to remove email address atoms....

Batch remove iTunes tags
Reply #32
There is a Perl script called "anoncp.pl":

Code: [Select]
#!/usr/bin/perl
##
# A N O N C P . P L
#
# a script that takes the unix cp file specification options
#
# perl anoncp.pl source_file target_file
# perl anoncp.pl source_file ... target_directory
#
# which reads the source file(s) and copies them to the
# destination stripped of all the user identification gunk
# that apple adds on iTunes "DRM free" songs
#
# NB: make sure you install the latest version of the
# most excellent Audio::M4P::QuickTime perl module.
##

use strict;
use warnings;

use Carp;
use File::Basename;

use Audio::M4P::QuickTime;

my $usage = q{
usage:
perl anoncp.pl source_file target_file
perl anoncp.pl source_file ... target_directory
};

@ARGV >=2 || croak "not enough files specified", $usage;

my $destDN = pop(@ARGV);
my $destFN = $destDN if (! -d $destDN && @ARGV == 1);

$destDN = dirname($destFN) if( $destFN);

-d $destDN || croak $destDN, ": is not a directory", $usage;
(-r $destDN && -w _) || croak $destDN, ": cannot access ", $usage;

foreach my $m4aFN (@ARGV) {
my $qt = Audio::M4P::QuickTime->new( file => $m4aFN );
$qt->FindAtom("mp4a") || croak "$m4aFN: not a mpeg 4 file\n\t";
$qt->CleanAppleM4aPersonalData(force => 1, zero_free_atoms => 1);
my $toFN = $destFN ? $destFN : $destDN . basename($m4aFN);
$qt->WriteFile($toFN);
}
You have to import the Perl module "Audio::M4P::QuickTime" using CPAN (http://search.cpan.org/~billh/Audio-M4P-0.51/lib/Audio/M4P/QuickTime.pm)

I have done a small AppleScript, that I installed into iTunes: /Users/username/Library/iTunesScripts/Anonymize.
I installed the perl-script here: /usr/local/bin/anoncp.pl
Code: [Select]
global these_files

tell application "iTunes"
if selection is not {} then
set sel to selection
set these_files to {}
with timeout of 30000 seconds
repeat with this_track in sel
if class of this_track is file track then
set end of these_files to quoted form of POSIX path of ((get location of this_track) as string)
end if
end repeat
end timeout
if these_files is not {} then
my anonymize()
else
display dialog "Selected tracks cannot be anonymized..." buttons {"Cancel"} default button 1 with icon 2 giving up after 15
end if
else
display dialog "No tracks selected..." buttons {"Cancel"} default button 1 with icon 2 giving up after 15
end if
end tell

to anonymize()
tell application "iTunes" to activate

with timeout of 30000 seconds
set the_files to ""
repeat with a_file in these_files
do shell script "/usr/local/bin/anoncp.pl " & a_file & " " & a_file
end repeat
end timeout


end anonymize
Now I can remove the annoying information from the files by selecting them in iTunes and selecting the apple script.