很久以来我就将 CD 翻录到电脑。在此期间,我用过几种不同的翻录工具,观察到每种工具在标记上似乎有不同的做法,特别是在保存哪些音乐元数据上。所谓“观察”,我是指音乐播放器似乎按照有趣的顺序对专辑进行排序,它们将一个目录中的曲目分为两张专辑,或者产生了其他令人沮丧的烦恼。

怎么运用metaflac办理音乐标签  metaflac 音乐标签 开源 第1张

运用这个强壮的开源东西能够在指令行中纠正音乐标签过错。

好久以来我就将 CD 翻录到电脑。在此期间,我用过几种不同的翻录东西,查询到每种东西在符号上好像有不同的做法,特别是在保存哪些音乐元数据上。所谓“查询”,我是指音乐播放器好像依照风趣的次序对专辑进行排序,它们将一个目录中的曲目分为两张专辑,或许发生了其他令人懊丧的烦恼。

我还看到有些标签十分不明确,许多音乐播放器和标签修改器没有显现它们。即便这样,在某些极点情况下,它们仍能够运用这些标签来分类或显现音乐,例如播放器将一切包括 XYZ 标签的音乐文件与不包括该标签的一切文件别离到不同的专辑中。

那么,假如符号运用和音乐播放器没有显现“古怪”的符号,可是它们受到了某种影响,你该怎么办?

Metaflac 来解救!

我一向想要了解 metaflac,它是一款开源指令行 FLAC 文件元数据修改器,这是我挑选的开源音乐文件格局。并不是说 EasyTAG 这样超卓的标签修改软件有什么问题,但我想起“假如你手上有个锤子……”这句老话(LCTT 译注:指假如你手上有个锤子,那么一切的东西看起来都像钉子。意指人们惯于用了解的方法解决问题,而不论合不合适)。别的,从实践的视点来看,带有 Armbian 和 MPD 的小型专用服务器,音乐存储在本地、运转精简的仅限音乐的无头环境就能够满意我的家庭和办公室的立体音乐的需求,因而指令行元数据办理东西将十分有用。

下面的截图显现了我的长时间翻录过程中发生的典型问题:Putumayo 的哥伦比亚音乐汇编显现为两张独自的专辑,一张包括单首曲目,另一张包括其他 11 首:

 怎么运用metaflac办理音乐标签 metaflac 音乐标签 开源 第2张

Album with incorrect tags

我运用 metaflac 为目录中包括这些曲目的一切 FLAC 文件生成了一切标签的列表:

  1. rm -f tags.txt
  2. for f in *.flac; do
  3. echo $f >> tags.txt
  4. metaflac --export-tags-to=tags.tmp "$f"
  5. cat tags.tmp >> tags.txt
  6. rm tags.tmp
  7. done

我将其保存为可执行的 shell 脚本(请参阅我的搭档 David Both 关于 Bash shell 脚本的精彩系列专栏文章,特别是关于循环这章)。基本上,我在这做的是创立一个文件 tags.txt,包括文件名(echo 指令),后边是它的一切标签,然后是下一个文件名,依此类推。这是成果的前几行:

  1. A Guapi.flac
  2. TITLE=A Guapi
  3. ARTIST=Grupo Bahia
  4. ALBUMARTIST=Various Artists
  5. ALBUM=Putumayo Presents: Colombia
  6. DATE=2001
  7. TRACKTOTAL=12
  8. GENRE=Latin Salsa
  9. MUSICBRAINZ_ALBUMARTISTID=89ad4ac3-39f7-470e-963a-56509c546377
  10. MUSICBRAINZ_ALBUMID=6e096386-1655-4781-967d-f4e32defb0a3
  11. MUSICBRAINZ_ARTISTID=2993268d-feb6-4759-b497-a3ef76936671
  12. DISCID=900a920c
  13. ARTISTSORT=Grupo Bahia
  14. MUSICBRAINZ_DISCID=RwEPU0UpVVR9iMP_nJexZjc_JCc-
  15. COMPILATION=1
  16. MUSICBRAINZ_TRACKID=8a067685-8707-48ff-9040-6a4df4d5b0ff
  17. ALBUMARTISTSORT=50 de Joselito, Los
  18. Cumbia Del Caribe.flac

经过一番查询,成果发现我一起翻录了许多 Putumayo CD,而且其时我所运用的一切软件好像给除了一个之外的一切文件加上了 MUSICBRAINZ_* 标签。(是 bug 么?大约吧。我在六张专辑中都看到了。)此外,关于有时不寻常的排序,我注意到,ALBUMARTISTSORT 标签将西班牙语标题 “Los” 移到了标题的最终边(逗号之后)。

我运用了一个简略的 awk 脚原本列出 tags.txt 中陈述的一切标签:

  1. awk -F= 'index($0,"=") > 0 {print $1}' tags.txt | sort -u

这会运用 = 作为字段分隔符将一切行拆分为字段,并打印包括等号的行的第一个字段。成果经过运用 sort 及其 -u 标志来传递,然后消除了输出中的一切重复项(请参阅我的搭档 Seth Kenlon 的关于 sort 程序的文章)。关于这个 tags.txt 文件,输出为:

  1. ALBUM
  2. ALBUMARTIST
  3. ALBUMARTISTSORT
  4. ARTIST
  5. ARTISTSORT
  6. COMPILATION
  7. DATE
  8. DISCID
  9. GENRE
  10. MUSICBRAINZ_ALBUMARTISTID
  11. MUSICBRAINZ_ALBUMID
  12. MUSICBRAINZ_ARTISTID
  13. MUSICBRAINZ_DISCID
  14. MUSICBRAINZ_TRACKID
  15. TITLE
  16. TRACKTOTAL

研讨一会后,我发现 MUSICBRAINZ_* 标签出现在除了一个 FLAC 文件之外的一切文件上,因而我运用 metaflac 指令删除了这些标签:

  1. for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMARTISTID "$f"; done
  2. for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMID "$f"; done
  3. for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ARTISTID "$f"; done
  4. for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_DISCID "$f"; done
  5. for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_TRACKID "$f"; done

完成后,我能够运用音乐播放器重建 MPD 数据库。成果如下:

 怎么运用metaflac办理音乐标签 metaflac 音乐标签 开源 第3张

Album with correct tags

完成了,12 首曲目出现在了一张专辑中。

太好了,我很喜欢 metaflac。我期望我会更频频地运用它,由于我会企图去纠正最终一些我弄乱的音乐保藏标签。强烈推荐!

关于音乐

我花了几个晚上在 CBC 音乐(CBC 是加拿大的公共广播公司)上收听 Odario Williams 的节目 After Dark。感谢 Odario,我听到了让我十分享用的 Kevin Fox 的 Songs for Cello and Voice。在这里,他演唱了 Eurythmics 的歌曲 “Sweet Dreams(Are Made of This)”。

我购买了这张 CD,现在它在我的音乐服务器上,还有安排正确的标签!

转载请说明出处
知优网 » 怎么运用metaflac办理音乐标签

发表评论

您需要后才能发表评论