如何使用metaflac管理音乐标签

本文介绍了如何使用metaflac这个命令行工具来管理和修复音乐文件的元数据,特别是FLAC格式的文件。作者通过实例展示了如何解决由于不同翻录工具导致的音乐专辑排序混乱问题,以及如何利用metaflac清理和统一音乐收藏中的标签。
摘要由CSDN通过智能技术生成

我已经将CD翻录了很长时间了。 在那段时间里,我使用了几种不同的翻录工具,并且观察到每种工具在标记上似乎有不同的看法,特别是与音乐数据一起保存哪些元数据。 “观察到”是指音乐播放器似乎按照有趣的顺序对专辑进行排序,他们将一个物理目录中的曲目分为两张专辑,或者创建了其他令人沮丧的烦恼。

我还了解到某些标签非常模糊,许多音乐播放器和标签编辑器没有显示它们。 即使这样,在某些极端情况下,他们仍可以使用它们来分类或显示音乐,例如播放器将所有包含XYZ标签的音乐文件与不包含该标签的所有文件分离到不同的专辑中。

因此,如果加标签的应用程序和音乐播放器没有显示“ weirdo”标签,但是它们受到某种程度的影响,您该怎么办?

Metaflac进行救援!

我一直想熟悉metaflac ,它是FLAC文件的开源命令行元数据编辑器,这是我选择的开源音乐文件格式。 并不是说EasyTAG之类的出色标签编辑软件有什么问题,而是让人想起了老话:“如果有的话……”。 另外,从实际的角度来看,运行ArmbianMPD的小型专用服务器可以满足我的家庭和办公室立体声音乐的需求,这些音乐文件存储在本地,并且运行在非常精简的纯音乐无头环境中,因此命令-行元数据管理工具将非常有用。

下面的屏幕截图显示了我的长期翻录程序所产生的典型问题:Putumayo对哥伦比亚音乐的精彩汇编显示为两张单独的专辑,一张包含单首曲目,另一张包含其余11张:

Album with incorrect tags

我使用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数据库。 结果如下:

Album with correct tags

而且,我们之间-所有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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值