App logo

Music Tagger

Command line interfercae for automating the converting of audio files, tagging them with metadata, and uploading to apple music. For usage and source code checkout out the github repository linked above.

Swift
AVFoundation

Motivation

Uploading local files iTunes/Apple Music with custom metadata can take a great amount of time. I built Music Tagger to speed up this proccess by setting audio file metadata in bulk and exporting to iTunes for the files to upload to my cloud library.

How It Works

Music Tagger is designed to process a set of closely relate files in bulk via a folder on your local machine. For example songs from the same album. It uses the Swift ArgumentParser to pass options to the program, and then converts all audio files to M4A (Apples Audio Format), using the AVFoundation framework. Metadata is set as specified then the song is moved to your local iTunes library. Files of course are proccesed in parallel using modern Swift conurrency. Files should be in M4A in order to get the explicit song label. See the README within the github repository for more information on usage and CLI options.

Limitations

One of the current limitations of the tool is it requires manual observation to verify that the files have succesfully uploaded to your iTunes library. From what I have seen this is usually about a 95% success rate, however I will sometimes have uploaded procceses crash after the Music Tagger runs, which then would require a re-run.

Noah Giboney

2025