是否有一个命令实用程序可以在保留标签的同时在各种音频格式(或更具体地说从 wav 到 flac)之间进行转换?或者一种可以将标签从一个音频文件复制到另一个音频文件的实用程序?
有各种标签,不仅仅是曲目名称和艺术家。还有自定义标签(即具有自定义名称的标签,在标签数据库中不常见)。
标签由不同的工具生成,每个工具以不同的格式保存标签。有些工具只是创建一个类型为“INFO”的“LIST”块。其他工具也会制作一个“ID3”或“id3”块,其中包含 ID3v2 标签。其他工具只是将 ID3v2 标签粘贴到文件末尾,甚至不创建 RIFF 块。
答案1
标准flac
命令将执行重新编码步骤:
flac some.wav -o some.flac
对于标记,孩子3提供命令行界面,并识别 WAV 文件中的标签。 kid3-cli
有自己的交互式命令解释器,因此要将标签从一个文件复制到另一个文件,您可以使用:
$ kid3-cli
kid3-cli> select some.wav
kid3-cli> copy
kid3-cli> select some.flac
kid3-cli> paste
kid3-cli> save
kid3-cli> exit
$
要以真正的命令行、非交互式方式(例如在脚本中)使用它,您可以将每个步骤作为单独的-c
参数提供:
kid3-cli -c 'select some.wav' -c copy -c 'select some.flac' -c paste
(save
当提供带有 的命令时,该步骤会自动完成-c
。)
答案2
以下是我在 Windows 中解决相同问题的方法:
- 下载并安装 FLAC(当然)
- 下载并安装Kid3
- 使用您选择的命令 shell 编写 foreach 循环
For each ($SRC in $DIR) flac $SRC.wav -f --tag="NSTDtag=NSTDvalue" kid3-cli.exe -c "select $SRC.wav" -c "copy" -c "select $SRC.flac" -c "paste" DONE!
注意:对于非标准标签,您必须获得 flac 才能将它们放入(--tag="NSTDtag=NSTDvalue")
;如果kid3必须写入非标准标签,它就会爆炸。
注意:实现细节取决于您正在使用的环境/shell
注意:kid3-cli
甚至可以轻松复制“图片”标签