No description
Find a file
2026-03-26 12:39:44 +08:00
.github/workflows ci: Update QEMU installer URL in win-build.yml 2026-01-26 00:13:41 +08:00
.idea Initial commit 2024-05-04 15:58:59 +08:00
assets feat: specify song metadata language 2025-08-26 20:34:29 +08:00
extras/telegram_bot fix: improve the timeout mechanism 2026-03-06 18:40:17 +08:00
src feat: Introduce Pydantic models for Apple Music entities and enhance ripping tasks with context and filename tracking. 2026-03-26 12:39:44 +08:00
tools make make use all cpu 2025-07-26 05:14:46 +08:00
.gitignore feat: telegram bot support 2026-02-23 17:08:33 +08:00
android-deploy.md docs: use py3 of pd 2025-12-12 16:57:49 +08:00
config.example.toml Update config.example.toml 2026-02-22 19:29:59 -07:00
Dockerfile feat: 减小 Docker 镜像大小 2025-08-25 01:37:20 +08:00
LICENSE.txt Initial commit 2024-05-04 15:58:59 +08:00
main.py feat: remove uvloop and winloop requirements 2025-10-19 11:53:30 +08:00
pyproject.toml fix: adapt hishel breaking change 2026-03-06 17:48:05 +08:00
README.md Feature: add quality command and retrytime 2026-02-13 16:19:35 +08:00

AppleMusicDecrypt

Apple Music decryption tool, inspired by zhaarey/apple-music-alac-atmos-downloader

Discussion Group: https://t.me/apple_music_alac

Usage

# Download song/album with default codec (alac)
download https://music.apple.com/jp/album/nameless-name-single/1688539265
# Or a shorter command
dl https://music.apple.com/jp/album/nameless-name-single/1688539265
# Download song/album with specified codec
dl -c aac https://music.apple.com/jp/song/caribbean-blue/339592231
# Overwrite existing files
dl -f https://music.apple.com/jp/song/caribbean-blue/339592231
# Specify song metadata language
dl -l en-US https://music.apple.com/jp/album/nameless-name-single/1688539265
# Download specify artist's all albums
dl https://music.apple.com/jp/artist/%E3%83%88%E3%82%B2%E3%83%8A%E3%82%B7%E3%83%88%E3%82%B2%E3%82%A2%E3%83%AA/1688539273
# Download specify artist's all songs
dl --include-participate-songs https://music.apple.com/jp/artist/%E3%83%88%E3%82%B2%E3%83%8A%E3%82%B7%E3%83%88%E3%82%B2%E3%82%A2%E3%83%AA/1688539273
# Download all songs of specified playlist
dl https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp
# Download multiple songs with the same options, without retyping the command
dl -c aac -l en-US -b
https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp
https://music.apple.com/jp/album/nameless-name-single/1688539265
# Download multiple songs in one line
dl https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp https://music.apple.com/jp/album/nameless-name-single/1688539265
# Check the available quality of the song
quality https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp
# Or a shorter command
qa https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp
# You can hide a column by enabling it in the options.
qa --codec-id https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp
# When you add --invert, it works the opposite way, showing the column for whichever option you enable.
qa --invert --codec-id https://music.apple.com/jp/playlist/bocchi-the-rock/pl.u-Ympg5s39LRqp

Support Codec

  • alac (audio-alac-stereo)
  • ec3 (audio-atmos / audio-ec3)
  • ac3 (audio-ac3)
  • aac (audio-stereo)
  • aac-binaural (audio-stereo-binaural)
  • aac-downmix (audio-stereo-downmix)
  • aac-legacy (audio-stereo, non-lossless audio)

Support Link

About V2

AppleMusicDecrypt v2 provides support for remote fast decryption through WorldObservationLog/wrapper and WorldObservationLog/wrapper-manager

By connecting to a public wrapper-manager instance on the Internet, ripping can be completed without an Apple account or an active Apple Music subscription.

For faster decryption, wrapper-manager can also be deployed locally. The decryption speed of a single wrapper instance can reach up to 40MB/s

A wrapper-manager instance for testing:

[instance] # Mantainced by @WorldObservationLog
url = "wm.wol.moe"
secure = true
# or
[instance] # Mantainced by @itouakira
url = "wm1.wol.moe"
secure = true

Run

For Android users: android-deploy.md

For Windows users: use the pre-configured version that works out of the box

git clone https://github.com/WorldObservationLog/AppleMusicDecrypt.git
cd AppleMusicDecrypt
bash ./tools/install-deps.sh
poetry install
cp config.example.toml config.toml
poetry run python main.py

FAQ

Song did not pass the integrity check

There are two possible causes for this problem:

  1. Potential wrapper decryption error. This problem usually disappears after a few days. You can try restarting the wrapper-manager, changing the wrapper-manager instance, or waiting for a few days.
  2. The audio source file provided by Apple Music is damaged. See more: https://t.me/abcthoughts/6294

The bit depth of the ripped audio file does not match the selected codec

Some audio files provided by Apple Music are incorrectly encoded to a higher bit depth. This does not affect the content of the audio itself.