Musicdl Installation

Environment Requirements

  • Operating system: Linux, macOS, or Windows.

  • Python version: Python 3.10+ with requirements in musicdl requirements.txt.

Installation Instructions

You have three installation methods to choose from,

# from pip
pip install musicdl
# from github repo method-1
pip install git+https://github.com/CharlesPikachu/musicdl.git@master
# from github repo method-2
git clone https://github.com/CharlesPikachu/musicdl.git
cd musicdl
python setup.py install

Certain music clients supported by musicdl require extra CLI tools to function correctly, mainly to decrypt encrypted search and download requests, as well as protected audio files. These tools include:

  • FFmpeg is a cross-platform command-line tool for processing audio and video. The official FFmpeg site provides source code and links to ready-to-use builds for different platforms.

    Required By:

    Install Guidance:

    • Windows: Download a build from the official site, extract it, and add the “bin” directory to your PATH.

    • macOS: brew install ffmpeg

    • Ubuntu / Debian: sudo apt install ffmpeg

    Verify that the installation was successful:

    ffmpeg -version
    

    If version information is shown, FFmpeg was installed successfully.

  • Node.js is a cross-platform JavaScript runtime used to run JavaScript outside the browser.

    Required By:

    Install Guidance:

    Verify that the installation was successful:

    node -v
    npm -v
    

    If both commands print version information, Node.js was installed successfully.

  • N_m3u8DL-RE is a cross-platform stream downloader for MPD, M3U8, and ISM.

    Required By:

    Install Guidance:

    Verify that the installation was successful:

    N_m3u8DL-RE --version
    

    If version information is shown, N_m3u8DL-RE was installed successfully.

  • Bento4 is a full-featured MP4 and MPEG-DASH toolkit. In this setup, its mp4decrypt tool is required by amdecrypt and N_m3u8DL-RE.

    Required By:

    Install Guidance:

    Verify that the installation was successful:

    mp4decrypt
    

    If usage or version information is shown, Bento4 was installed successfully.

  • amdecrypt is a command-line tool for decrypting Apple Music songs in conjunction with a wrapper server.

    Required By:

    Install Guidance:

    • Prerequisite: Make sure Bento4 is installed first, and mp4decrypt is available in your PATH.

    • Windows: Download the binary from the musicdl clitools release, extract it, and add it to your PATH.

    • macOS: Download the binary from the musicdl clitools release, extract it, and add it to your PATH.

    • Linux: Download the binary from the musicdl clitools release, extract it, and add it to your PATH.

    Verify that the installation was successful:

    python -c "import shutil; print(shutil.which('amdecrypt'))"
    

    If the command prints the full path of amdecrypt without an error, amdecrypt was installed successfully.