Skip to content

dvxiaofan/jsTools

Repository files navigation

音乐文件处理工具集

本项目包含一系列 Node.js 脚本,用于管理和更新本地音乐文件的元数据,特别是封面图片。

主要功能

  • 自动封面更新: 从 QQ 音乐和 iTunes 上为您的 .mp3.flac 文件查找并嵌入高质量的专辑封面。
  • 智能信息解析: 优先从文件名中解析歌曲信息(支持 歌手 - 歌名歌名 (歌手) 等多种格式),失败时回退到文件元数据。
  • 批量处理: 支持对单个目录或包含多个子目录的根目录进行批量操作。
  • 演习模式: 提供 --dry-run 模式,可以在不修改任何文件的情况下预览操作结果。

环境准备

在运行任何脚本之前,请确保已安装所有必需的依赖项。在项目根目录下运行:

npm install

脚本使用说明

1. update_cover_art.js - 单目录封面更新

此脚本用于处理单个文件夹内的所有支持的音频文件。

用途: 为指定目录下的所有 .mp3.flac 文件查找并嵌入封面。它会处理该目录以及其下的 CD* 子目录。

命令格式:

node scripts/music/update_cover_art.js <目录路径> [--dry-run]

参数说明:

  • <目录路径>: 必需。您想要处理的音乐文件夹路径,例如 "./华语精选/周杰伦"
  • --dry-run: 可选。如果使用此参数,脚本将只显示它会做什么,但不会下载图片或修改任何文件。

示例:

# 对 "周杰伦" 文件夹进行实际的封面更新
node scripts/music/update_cover_art.js "/Volumes/Music/华语精选/周杰伦"

# 演习模式,查看脚本将如何处理 "林俊杰" 文件夹
node scripts/music/update_cover_art.js "/Volumes/Music/华语精选/林俊杰" --dry-run

2. batch_update_covers.js - 批量处理多个目录

此脚本是 update_cover_art.js 的“总开关”,可以一次性处理多个子目录。

用途: 自动扫描一个根目录下的所有子目录,并对每个子目录执行封面更新操作。例如,您可以指定 华语精选 目录,它会自动处理里面的“周杰伦”、“王菲”、“陈奕迅”等所有文件夹。

命令格式:

node scripts/music/batch_update_covers.js <根目录路径> [--dry-run]

参数说明:

  • <根目录路径>: 必需。包含多个歌手或专辑子目录的顶层文件夹,例如 "/Volumes/Music/华语精选/"
  • --dry-run: 可选。为所有子目录的处理启用演习模式。

示例:

# 对 "华语精选" 目录下的所有文件夹执行封面更新
node scripts/music/batch_update_covers.js "/Volumes/Music/华语精选/"

# 演习模式,预览对 "欧美流行" 目录下所有文件夹的处理计划
node scripts/music/batch_update_covers.js "/Volumes/Music/欧美流行/" --dry-run

3. hot_songs.js - 网易云热歌榜单获取

此脚本用于从网易云音乐获取指定歌单的歌曲列表。

用途: 连接到网易云音乐 API,拉取一个硬编码在脚本中的歌单(默认为“云音乐热歌榜”)的所有歌曲信息,并将其保存为 hot_songs.json 文件。

命令格式:

node scripts/music/hot_songs.js

注意:

  • 此脚本目前没有命令行参数,歌单 ID 是在代码中写死的。
  • 运行后会在脚本所在目录生成一个 hot_songs.json 文件。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •