介绍

类似于音乐媒体库, 搭建音声媒体库可以更方便地管理和使用它们, 然而多数音声作品都不带有正确的标签,媒体库使用实际体验较差,这里介绍如何使用命令行工具 dvtag 为音声文件打上正确的标签

注意标题的同人音声指的是在 Dlsite 中售贩的音声作品, 通常带有一个唯一的RJ号, 例如RJ123123, 这个命令行程序会去主动检测文件夹名称中是否包含RJ号, 正确的RJ号决定是否能拉取正确的 Tag

通常用到的资料库软件有 Plex, Jellyfin, Emby 等… 我个人比较推荐使用 Plex, 理由是漂亮,最终效果图:

image-20210927200031859

image-20210927200336946

image-20210927200549480

image-20210927200629762

如果你有自己的NAS服务的话可以搭建自己的 Plex 远程服务器(见博客内Plex搭建教程) , 这样可以随时随地使用音声,并且不用担心多份拷贝造成的手机内存/电脑硬盘容量紧张的问题

下面主要介绍如何让媒体服务器能正确识别这些Tag(如专辑名/作品名, 艺术家/声优, 专辑艺术家/社团名, 以及重要的封面)

DVTAG

DVTAG 是一个专用于给同人音声音频文件打Tag的命令行工具, 目前仅支持flacmp3, 考虑到这些音声音频文件通常以wav(Tag支持不友好) 的格式出现, dvtag 命令提供了选项支持将 wav(无损无压缩) 格式转码为 flac(无损压缩), 在不损失音频质量的情况下获得更小的体积和更好的Tag支持。

多说一句, MP3 格式的音频质量实际上已经足够好了, 尽管是有损压缩, 但是对于较高的比特率320kbpsMP3和无损音频WAV 人类很难分辨出区别,如果你不愿相信可以参考下这篇回答 Can anyone really tell the difference between a WAV file and a [high-quality] MP3?

安装

首先确保电脑上安装有Python, 并且版本大于等于3.9, 然后执行下面的命令即可完成命令行的安装

1
pip install dvtag

使用

现在执行 dvtag -h 你应该可以看到下面这样的结果

1
2
3
4
5
6
7
8
9
10
11
usage: dvtag [-h] [-w2f] [-w2m] dirpath

Doujin Voice Tagging Tool (tagging in place)

positional arguments:
dirpath a required directory path

optional arguments:
-h, --help show this help message and exit
-w2f transcode wav file to flac [LOSELESS] (default: False)
-w2m transcode wav file to mp3 (default: False)

假设你的音声作品全部放在 F:\nextcloud\Musics\ASMR 目录下, 并且所有的音声的最外层目录名称都包含有RJ号(例如RJ123123), 那么只需要执行

1
dvtag F:\nextcloud\Musics\ASMR

正确的处理结果应当是类似于下面这样

image-20210927210902183

转码需求

如果你需要转码(wav -> flac 或者 wav -> mp3), 需要先安装FFmpeg, 网上有很多教程这里不多介绍, 验证是否正确安装FFmpeg 的方法是在命令行中输入 FFmpeg 应当有类似下面的结果

image-20210927211359841

确认已经正确安装上 FFmpeg 之后就可以添加 -w2f-w2m 选项实现自动转码了, 例如

1
dvtag -w2f F:\nextcloud\Musics\ASMR

网络问题

此脚本程序从 Dlsite 等官网拉取 Meta 信息, 如果出现网络问题, 配置好相应的环境变量到代理就好, 例如对于Windows下的 clash 代理, 可以

1
2
3
set HTTP_PROXY=http://localhost:7890
set HTTPS_PROXY=http://localhost:7890
dvtag F:\nextcloud\Musics\ASMR