Skip to content

gitbobobo/one_al_art

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

one_al_art

歌曲批量整理脚本,为构建 Navidrome 音乐库而生。

注意:脚本对音乐标签的支持并不完善,因此请在乐库整理的早期步骤运行脚本,之后再通过专业软件进行处理。

在运行脚本前请先用少量歌曲测试一下,本人不对您的歌曲文件的损失负责!

使用说明

运行源码

  1. 安装 nodejs
  2. 安装 ffmpeg 并将 bin 目录配置到环境变量 Path
  3. 执行命令 npm install -g pnpm 安装 pnpm
  4. 执行命令 git clone https://github.com/gitbobobo/one_al_art.git 下载源码
  5. 执行命令 pnpm install 安装依赖项
  6. 修改 config.js 中的配置项
  7. 参照 package.jsonscripts 列表中的命令,通过 pnpm <command> 执行即可

批量转换格式

执行命令:pnpm convert

处理逻辑:

  • 无损音乐转为 .flac
  • 有损音乐转为 .mp3

批量添加专辑艺术家

执行命令:pnpm one

处理逻辑:

首先收集到所有歌曲数据,按专辑分类。

如果某个专辑只有一个艺术家,不做处理。

如果某个专辑有艺术家参与了 70% 以上的歌曲,则将参与比例最高的艺术家设置为专辑艺术家,若有两个相同参与比例的艺术家,则将第一个艺术家设置为专辑艺术家,其他情况则根据艺术家名字设置为 群星、华语群星、日韩群星、欧美群星。

最终达成的效果是一个专辑可以有多个艺术家,但只有一个专辑艺术家。

构建目录

执行命令:pnpm tree

Windows 系统下输出目录若出现无法删除的文件,请执行命令:pnpm clear 清空输出文件夹。

处理逻辑:

按照 专辑艺术家 - 专辑 - 歌曲 的结构构建目录结构。

排除标题中包含(伴奏)的歌曲文件。

排除非音频文件。

收集整轨文件

执行命令:pnpm cue

处理逻辑:

Navidrome 对整柜文件的支持较为一般,因此需要在导入音乐库前执行分轨操作。

目前此脚本只会列出可能包含整轨文件的文件夹,判断逻辑也有待优化。

短文件夹名

执行命令:pnpm short

处理逻辑:

Windows 下路径名称过长可能导致某些软件无法识别,因此批量将音乐文件夹下的目录按序号递增命名。

注意:执行此脚本前请先将音乐文件的标签处理好,不然后续处理起来可能会有困难。

About

歌曲批量整理脚本

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published