Skip to main content

A tool for appending metadata from Apple Music to music files.

Project description

Apple Music Metadata Grabber (ammg)

ammg is a tool for appending metadata to music files from Apple Music. Mainly files downloaded from Youtube Music (not youtube), because Youtube Music (albums/singles/ep) and Apple Music (albums) holds the same song info...

With ammg you choose your youtube music songs, and you choose which metadata.

Note: Supported file types are m4a and opus. Using opus is better than m4a because the best quality available on youtube is opus.

However m4a is used if you want to open the files in iTunes and sync them to your iPhone/iPad.

Usage

  • First: Choose your song, album, or single.
  • Second: Download the album playlist from Youtube Music.
  • Third: Copy the album ID from the search bar from Apple Music.

Example: We will be downloading Scary Pockets, Elise Trouw - Careless Whisper (feat. Dave Koz).

Notice: the Youtube Music link is a playlist. By downloading using the playlist (album link), you will be able to add metadata without manual intervetion.

Command Process: Download the music using yt-dlp (make sure you download yt-dlp first).

  • Downloading .opus file using yt-dlp:
yt-dlp -cw -o "music/%(title)s.%(ext)s" -x --audio-quality "0" "https://music.youtube.com/playlist?list=OLAK5uy_kVIMiCrxX4gmnZI-IufqRvJte6Hk3NTbY"
  • Downloading .m4a file using yt-dlp:
yt-dlp -cw -o "music/%(title)s.%(ext)s" -x --audio-format m4a --audio-quality "0" "https://music.youtube.com/playlist?list=OLAK5uy_kVIMiCrxX4gmnZI-IufqRvJte6Hk3NTbY"

This will download Careless Whisper in the music folder. So the path of the downloaded song will be music/Careless Whisper (feat. Dave Koz).opus.

Adding the metadata using ammg:

Required arguments:

  • -i: Apple album id.
  • -o: Output directory.
    • The directory where the file will be once it is saved.
  • positional argument: here music where the downloaded song is.
ammg get -i 1681177202 -o Ordered_Music music

If you are querying a lot of songs in one session, it is adviced to use --do-not-check-token.

ammg get --do-not-check-token -i 1681177202 -o Ordered_Music music

After embedding metadata, the file will be moved to Ordered_Music/S/Scary Pockets & Elise Trouw/Careless Whisper (feat. Dave Koz) - Single/. That way we will have an ordered music library.

Simplifying our work

We can using bash scripting on Linux, to created alias or functions that simplify our work, and make the process faster.

Alias domus to download music:

alias domus='yt-dlp -cw -o "music/%(title)s.%(ext)s" -x --audio-quality "0"'

A shell function that accepts a link and album id:

domuspp() {
    domus "$1";
    ammg get --do-not-check-token -i "$2" -o Ordered_Music music;
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ammg-0.2.1.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

ammg-0.2.1-py3-none-any.whl (37.2 kB view details)

Uploaded Python 3

File details

Details for the file ammg-0.2.1.tar.gz.

File metadata

  • Download URL: ammg-0.2.1.tar.gz
  • Upload date:
  • Size: 36.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for ammg-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e624a4ce9274833521795abad92f763118e89e27974d7aa34e3454c118c55418
MD5 3324512b139ca888bdab417c02a44522
BLAKE2b-256 54f18939e4de85df9fb6d7d1d2ce5e461339ccc4f89b72f75ee701b75d99d0c8

See more details on using hashes here.

File details

Details for the file ammg-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: ammg-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for ammg-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b63e9f97396d8fbf24088cb93c0bb34413ec06e7e49a1c197bcc0182d8d92d51
MD5 9c5f997366be113924489fc144f12073
BLAKE2b-256 09a61dd43003d2554a32c7ac84beaa63df8f7f0763fd11c7efe22d0c61851713

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page