banner
Wayne

Wayne

Do what you love, love what you do
github
bilibili
telegram

Create your own local music library.

Preface#

The first two articles about music mentioned how to download lossless music in bulk through playlists and how to quickly migrate your favorite songs and playlists.

With these methods, my music experience has become much better. However, recently when I was listening to music, I found that many songs were no longer available due to copyright issues. Some songs have been replaced with different versions for various reasons. Although they are created by the same artist, they no longer have the original flavor. In addition, even though I downloaded my favorite songs to my local device last time, I didn't organize or manage them properly, and there were no lyrics. So I decided to create my own local music library.

This article will introduce how to download lossless music, import music information (including lyrics, cover, author, genre, etc.) into songs in bulk, and manage songs in a centralized manner (with recommended multi-platform software).

Download Your Favorite Songs#

In the previous tutorial, it was explained in detail how to download your favorite songs from platforms like QQ Music in bulk. For more details, please refer to this article: How to Download Lossless Music from QQ Music, Netease Cloud Music, etc.

Of course, you can also search for your favorite songs in the vast internet. Being good at using search engines can double your search efficiency. You can read my article to better utilize search engines to find the resources you want: Making Good Use of Search Engines

Here, I recommend a website that I often use to download music: HIFINI-Music Magnet. All the music here is shared by netizens. The downloaded music is in a compressed package, which contains two types of music: the common mp3 format and the lossless flac format. You can unzip the format you need according to your own needs.

Note: Downloading songs from this website requires coins, which are very cheap. You can download dozens of songs for just a few yuan.

Import Song Information into Downloaded Songs#

Just downloaded your favorite songs, but when you play them on a music player, there are no lyrics or covers, which is very uncomfortable. The local songs organized in this way are not worthy of being called a "music library". On mobile phones, we can use the app Music Tag to search for and import song information for the downloaded songs. However, importing them one by one is too slow, and the desktop version of Music Tag has not been updated for a long time. I tested it and found that the import speed is very slow. Here, I will introduce an open-source project - Music Tag Web, which can import song information in bulk with just one click.

Open-source address: https://github.com/xhongc/music-tag-web

This open-source project is deployed using Docker, which is very simple and fast. We need to install Docker and Docker Compose first. You can search for installation tutorials on Bilibili, which are very detailed. After installation, it is recommended to move the Docker path and WSL directory to another drive (by default, they are installed on the system drive). This article provides a detailed introduction: Running Docker Desktop with WSL 2 on Windows 10 and Moving Files from C Drive to Another Drive

After installation, create a folder named music-tag-web in a location, and create a file named docker-compose.yml inside the folder. Then edit this file and write the following content:

version: '3'

services:
	music-tag:
		image: registry.cn-hangzhou.aliyuncs.com/charles0519/music_tag_web:1.0.9
		container_name: music-tag-web
		ports:
			- "8001:8001"
		volumes:
			- ./music:/app/media:z
		command: /start
		restart: always

We only need to pay attention to the port part. The port 8001 is the port to be occupied. In this format: 8001:8001, the left side maps to the port of our computer, which can be changed to an unoccupied port.

Use the following command to check if the port is occupied:

netstat -ano | findstr :8001

If no content is returned, it means that the port is not occupied.

After that, open the terminal in this directory by holding down Shift and right-clicking the mouse, or by entering cmd in the address bar and pressing Enter. Then enter the command:

docker-compose up -d

This will pull the Docker image and run it in the background. Make sure not to close your Docker Desktop application, otherwise, all Docker processes will be terminated.

Isn't it simple? Deploying projects using Docker Compose is extremely simple. You only need to pay attention to some sensitive information in the docker-compose.yml file (which is generally provided by the developer), and then run a single command to start the project.

Then, enter http://localhost:8001/ in the address bar of your browser.

If you changed the port earlier, remember to change 8001 to the modified port.

At this point, go back to the music-tag-web folder, and you will find that there is a new music folder inside it. Move the songs you downloaded to the music-tag-web/music/music folder, and then you can operate on the web page.

Mobile#

Brief Introduction#

For Android, I recommend Salt Music, which has a beautiful and concise UI interface, a lot of functions, and a very beautiful playback interface. The status bar lyrics function is very practical. Although it is a VIP function, the author operates it in the form of a "honest small store", so even if you don't pay, you can experience all the VIP functions (I don't recommend it for iOS because I don't have an iOS phone).

Salt Music

Installation Method#

  1. GitHub
  2. Coolapk
  3. Google Play Store

Desktop#

Brief Introduction#

For Windows, I recommend Dopamine, a clean and elegant local music player. It has a simple interface and all the functions needed for daily music listening. It supports reading song covers, lyrics, and automatic lyric search. Currently, there are two major versions: 2 and 3, with different open-source repositories. Version 2 is written in C language, while version 3 is written in TypeScript. Compared with version 3, version 2 has a smaller memory footprint, and most of the functions of version 3 are not yet complete due to time constraints. For example, it cannot read song information, so it is currently not recommended for use (I don't recommend it for Mac because I don't have a Mac computer).

Main Interface
Main Interface
Playback Interface
Playback Interface

Installation Method#

One command is all it takes:

scoop install dopamine

You can search before installation:

scoop search dopamine

The result is:

Name     Version Source Binaries
----      ----     ----    -----
dopamine 2.0.9    extras

It indicates that the scoop repository has the software dopamine, and the latest version is 2.0.9, which is included in the extras repository. If you haven't added the extras repository yet, use the command:

scoop bucket add extras

Then execute:

scoop install dopamine

This is the process of installing software using scoop. First, search for the software to see the corresponding version number and repository. Add the repository, and finally, execute the installation.

If you haven't installed the scoop package manager on your computer, you can read my article Manage Your Windows Software with Scoop. Scoop will be frequently used in future tutorials and software recommendations because it is really convenient.

Install from GitHub#

On the GitHub releases page, you can choose the corresponding version to install directly. There are two installation methods: zip and msi. Choose according to your needs. Personally, I prefer the portable zip package, which can be migrated at any time.
https://github.com/digimezzo/dopamine-windows/releases

Postscript#

So far, we have completed a series of operations such as downloading, migrating, and managing music. I believe you have a good music experience now. This is the end of my music exploration. If you have more detailed music management solutions, please leave a comment in the comment section.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.