首页 > 解决方案 > 用于标记 mp3 文件的 Bash 脚本

问题描述

我想编辑很多.mp3文件的元数据。我不想使用 GUI 或任何手动的一对一方式来执行此操作。我想编写一个为我添加标签的脚本。我正在寻找手动编辑元数据的命令或方法,以便我可以编写如下内容:

for SONG in ./songs/greenday/*
do
  tag --artist="greenday" --album="Dookie" --album-art="./art/greenday/Dookie.jpg" --file $SONG
done

我熟悉以下工具:

但是没有人允许我以我想做的有效方式做我想做的事。

标签: bashmetadatamp3

解决方案


我已经搜索了 debian 包,有一个包叫 Kid3-cli

你可以阅读手册man kid3-cli

Kid3 可以编写包含更多封面的复杂 ID3v2 和 v3 标签。此示例标记文件夹中的所有歌曲

kid3-cli -c "set title 'I\'ll be there for you'" \
         -c "set albumart 'http://www.example.com/blah.jpg'" \
         -c "set SYLT:'/path/to/lyrics.lrc'" \
         ./songs/greenday/*.mp3

记住这只是一个例子,你必须阅读这个男人,即使它很痛

而现在完全不同的东西

如果您不需要封面艺术,您可以使用 mp3tag 直接标记 ID3v1 标签

#!/bin/bash

for SONG in ./songs/greenday/*
do
    mp3tag -a "greenday" -l "Dookie" "$SONG"
done

...我已经测试过了,它可以工作

max@linux:~# ./testmp3
Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Brett Eldredge_Love Someone.mp3
-----------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 44100Hz, 128kb/s (JointStereo)

Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Brett Eldredge_Somethin' I'm Good At.mp3
--------------------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 48000Hz, 64kb/s (JointStereo)

Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Brett Eldredge_The Long Way.mp3
-----------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 44100Hz, 128kb/s (JointStereo)

Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Brett Eldredge_The Reason.mp3
---------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 44100Hz, 128kb/s (JointStereo)

Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Bring You Back_Don't Ya.mp3
-------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 44100Hz, 128kb/s (JointStereo)

Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Illinois_Drunk On Your Love.mp3
-----------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 44100Hz, 128kb/s (JointStereo)

Wrote ID3 tag successfully!
/root/musik/Brett Eldredge- Lose My Mind_Lose My Mind.mp3
---------------------------------------------------------
Artist    : greenday
Songname  :
Album     : Dookie                          Year:
Etcetera  :
Genre     : (null)
Info      : Mpeg-1 layer 3 at 44100Hz, 128kb/s (JointStereo)

推荐阅读