介绍

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

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

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

image-20210927200031859

image-20210927200336946

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

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

image-20210927200549480

image-20210927200629762

DVTAG

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

多说一句, MP3 格式的音频质量实际上已经足够好了, 尽管是有损压缩, 但是对于较高的比特率320kbpsMP3和无损音频WAV 绝大多数人很难分辨出区别。

参考这个 Quora 问题下的回答 Can anyone really tell the difference between a WAV file and a [high-quality] MP3?

安装

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

1
pip install dvtag

Python3 的安装可以参考 安装Python - 廖雪峰的官方网站, 注意版本号

使用

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

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

Doujin Voice Tagging Tool (tagging in place)

positional arguments:
dirpath a required directory path

options:
-h, --help show this help message and exit
-w2f transcode all wav files to flac [LOSELESS] (default: False)
-w2m transcode all wav files 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
  • -w2f 将 wav 文件转换为 flac 格式
  • -w2m 将 wav 文件转换为最高码率的 mp3 格式

网络问题

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

1
2
set HTTP_PROXY=http://localhost:7890
set HTTPS_PROXY=http://localhost:7890

如何提问

本博客不支持评论, 你可以通过右侧的联系方式联系到我, 对于经常被问到的问题我会补充到博客内容里