我已经将CD翻录了很长时间了。 在那段时间里,我使用了几种不同的翻录工具,并且观察到每种工具在标记上似乎有不同的看法,特别是与音乐数据一起保存哪些元数据。 “观察到”是指音乐播放器似乎按照有趣的顺序对专辑进行排序,他们将一个物理目录中的曲目分为两张专辑,或者创建了其他令人沮丧的烦恼。
我还了解到某些标签非常模糊,许多音乐播放器和标签编辑器没有显示它们。 即使这样,在某些极端情况下,他们仍可以使用它们来分类或显示音乐,例如播放器将所有包含XYZ标签的音乐文件与不包含该标签的所有文件分离到不同的专辑中。
因此,如果加标签的应用程序和音乐播放器没有显示“ weirdo”标签,但是它们受到某种程度的影响,您该怎么办?
Metaflac进行救援!
我一直想熟悉metaflac ,它是FLAC文件的开源命令行元数据编辑器,这是我选择的开源音乐文件格式。 并不是说EasyTAG之类的出色标签编辑软件有什么问题,而是让人想起了老话:“如果有的话……”。 另外,从实际的角度来看,运行Armbian和MPD的小型专用服务器可以满足我的家庭和办公室立体声音乐的需求,这些音乐文件存储在本地,并且运行在非常精简的纯音乐无头环境中,因此命令-行元数据管理工具将非常有用。
下面的屏幕截图显示了我的长期翻录程序所产生的典型问题:Putumayo对哥伦比亚音乐的精彩汇编显示为两张单独的专辑,一张包含单首曲目,另一张包含其余11张:
我使用metaflac为包含这些轨道的目录中的所有FLAC文件生成了所有标签的列表:
rm -f tags.txt
for f in *.flac; do
echo $f >> tags.txt
metaflac --export-tags-to=tags.tmp "$f"
cat tags.tmp >> tags.txt
rm tags.tmp
done
我将其保存为可执行的Shell脚本(请参阅同事David Both关于Bash shell脚本的精彩系列专栏文章, 特别是on loops上的专栏文章)。 基本上,我在这里要做的是创建一个文件tags.txt ,其中包含文件名( echo命令),其所有标志,下一个文件名,依此类推。 这是结果的前几行:
A Guapi.flac
TITLE=A Guapi
ARTIST=Grupo Bahia
ALBUMARTIST=Various Artists
ALBUM=Putumayo Presents: Colombia
DATE=2001
TRACKTOTAL=12
GENRE=Latin Salsa
MUSICBRAINZ_ALBUMARTISTID=89ad4ac3-39f7-470e-963a-56509c546377
MUSICBRAINZ_ALBUMID=6e096386-1655-4781-967d-f4e32defb0a3
MUSICBRAINZ_ARTISTID=2993268d-feb6-4759-b497-a3ef76936671
DISCID=900a920c
ARTISTSORT=Grupo Bahia
MUSICBRAINZ_DISCID=RwEPU0UpVVR9iMP_nJexZjc_JCc-
COMPILATION=1
MUSICBRAINZ_TRACKID=8a067685-8707-48ff-9040-6a4df4d5b0ff
ALBUMARTISTSORT=50 de Joselito, Los
Cumbia Del Caribe.flac
经过一番调查,结果发现我同时撕了许多我的Putumayo CD,而当时我所使用的任何软件似乎都在一个文件上都贴了MUSICBRAINZ_标签。 (有错误吗?可能是;我在六张专辑中看到了这一点。)此外,关于有时不寻常的排序,请注意,ALBUMARTISTSORT标签在逗号后将西班牙文“ Los”移到了艺术家姓名的末尾。
我使用一个简单的awk脚本列出了tags.txt文件中报告的所有标签:
awk -F = 'index($0,"=") > 0 {print $1}' tags.txt | sort -u
这使用=作为字段分隔符将所有行拆分为多个字段,并打印包含等号的行的第一个字段。 结果通过带有-u标志的排序传递,这消除了输出中的所有重复项(请参阅我的同事Seth Kenlon 在sort实用程序上的精彩文章 )。 对于此特定的tags.txt文件,输出为:
ALBUM
ALBUMARTIST
ALBUMARTISTSORT
ARTIST
ARTISTSORT
COMPILATION
DATE
DISCID
GENRE
MUSICBRAINZ_ALBUMARTISTID
MUSICBRAINZ_ALBUMID
MUSICBRAINZ_ARTISTID
MUSICBRAINZ_DISCID
MUSICBRAINZ_TRACKID
TITLE
TRACKTOTAL
仔细研究一下,我发现MUSICBRAINZ_标志出现在除了一个FLAC文件之外的所有文件上,因此我使用metaflac命令删除了这些标志:
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMARTISTID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ARTISTID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_DISCID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_TRACKID "$f"; done
完成后,我可以使用音乐播放器重建MPD数据库。 结果如下:
而且,我们之间-所有12首曲目一起都放在一张专辑中。
所以,是的,我很喜欢metaflac。 我希望我会更频繁地使用它,因为我试图弄乱音乐收藏的音乐标签中的最后一部分怪异之处。 强烈推荐!
和音乐
我花了几个晚上在CBC音乐上听Odario Williams的节目After Dark 。 (加拿大广播公司是加拿大的公共广播公司。)感谢奥达里奥,我真正喜欢的专辑之一是凯文·福克斯(Kevin Fox )的《大提琴之歌》和《配音》 。 他在这里演唱Eurythmics乐曲“ Sweet Dreams(Are Made This)” 。
我在CD上购买了它,现在它以正确组织的标签在音乐服务器上!
翻译自: https://opensource.com/article/19/11/metaflac-fix-music-tags