Skip to main content

Tag .mp3 and .m4a audio files from iTunes data automatically.

There are various standards in audio file tagging, and the fields they contain are huge mess, but since most of them are not being used by us normal people, to make things simpler, I chose 8 essential and common fields pragmatically:

  • Title

  • Album

  • Artist

  • Album Artist

  • Genre

  • Release Date

  • Track Number

  • Disc Number

By default, autotagger will only work with these 8 fields, anything not included will be ignored.

autotagger is currently tested under Mac OS X with Python 2.7.10, if you find anything wrong with this program, feel free to submit an issue.

TODO:

  • [ ] append album artwork in tracks

Installation

pip install autotagger

Usage

autotagger combines audio files with iTunes data, it uses track number (and disc number, if exists) to identify a song and match it with iTunes data. In short, the progress could be summarized in three steps:

  • Find the url of your album on iTunes, for example.

  • Make sure every song you want to tag has track number (and disc number, if its a multi-CD album) set properly. You can use a ID3 tagging tool like meta on OS X or mp3tag on Windows to achieve that.

  • Run autotagger command with data above.

autotagger --help to see detailed information about command line options.

Input/Paste songs manually

Use -u to indicate the iTunes album url:

autotagger -u https://itunes.apple.com/us/album/schole-compilation-vol.-1/id251480659

After running this command, autotagger will ask you to enter the file paths, you can copy them by right click on songs in finder and choose Copy Path

images/r-origin-copy-path.png

Then paste them in the terminal, and hit enter to continue.

You can also album id instead of url to make it clearer:

autotagger -i 251480659

Pass songs from pipeline

If you can get the song names from other command’s output, you can use pipeline mode to feed the input, add -p option to enable this feature:

find album -type f -name '*.mp3' | autotagger -i 251480659 -p

Clear other tags

If you want the songs to be tagged just the 8 fields other than anything else, add -c to enable that. By adding this option, only the 8 fields will be contained in the processed songs, any other fields will be removed.

autotagger -i 251480659 -c

Download artwork

Add -a option to download artwork, note this option will make the command stop tagging songs.

autotagger -i 251480659 -a

Screenshots

autotagger -i 251480659

images/r-origin-simple.png

find album -type f -name '*.mp3' | autotagger -i 251480659 -p

images/r-origin-pipeline.png

Metadata

Release files for autotagger 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autotagger 0.1.6
File Size Uploaded Provenance
autotagger-0.1.6.tar.gz 7.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for autotagger 0.1.6
File Interpreter ABI Platform
autotagger-0.1.6-py2-none-any.whl Python 2 none any Details

Total release size: 17.1 kB

Release files / autotagger-0.1.6.tar.gz

Download URL autotagger-0.1.6.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a7b8143b92c407281604cc078c1bda54613e0b81db6fa236eb50dc1e94d65325
BLAKE2b-256 checksum
How to use checksums
a2382b9737078b7554e33c9bcd0f536d01fcefd9399e012bb7593e713b5b09d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / autotagger-0.1.6-py2-none-any.whl

Download URL autotagger-0.1.6-py2-none-any.whl
Size 9.7 kB
Tags Python 2
SHA-256 checksum
How to use checksums
4dc9857a014c00e1eebee229d80cc8e8dec116e881a6577d180818238d918ba6
BLAKE2b-256 checksum
How to use checksums
9ca293624a79d9e9751f6f7152462e848ffcf14fc12728f36519b632380601ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for autotagger 0.1.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page