帮助整理音乐

chr*_*ris 5 music scripts mp3

我在中型办公环境中将 Ubuntu 服务器安装设置为带有 Subsonic 的媒体服务器。我允许所有员工上传到服务器上的媒体文件夹。

正如您可以想象的那样,目录名称、重复文件以及不正确的文件名和标签的艺术家和专辑名称的多种拼写会在那里变得有点混乱。

我希望我能找到一个脚本,我可以每天运行该脚本作为清理媒体驱动器的 cron 作业。有谁知道任何可能有效的方法?我想保持一个类似于:/mnt/music/Artist/Album/Song.file 的路径

Isa*_*iah 5

我发现这个脚本http://www.skryking.net/post/bash-sort-mp3-s-by-id3-tag

#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

for i in `ls -1 *.mp3`
do
TITLE="`id3info "$i" | grep '^=== TIT2' | sed -e 's/.*: //g'`"
ARTIST="`id3info "$i" | grep '^=== TPE1' | sed -e 's/.*: //g'`"
ALBUM="`id3info "$i" | grep '^=== TALB' | sed -e 's/.*: //g'`"
YEAR="`id3info "$i" | grep '^=== TYER' | sed -e 's/.*: //g'`"
TRACKNUM="`id3info "$i" | grep '=== TRCK' | sed -e 's/.*: //g'`"

if [ -e "$TITLE" ]; then
  TITLE="Unknown"
fi

if [ -e "$ARTIST" ]; then
  ARTIST="Unknown"
fi

if [ -e $ALBUM ]; then
  ALBUM="Unknown"
fi

if [ -e $YEAR ]; then
  YEAR="Unknown"
fi

if [ -e $TRACKNUM ]; then
  TRACKNUM="Unknown"
fi

echo "$ARTIST $TITLE $ALBUM $YEAR $TRACKNUM"

install -D "$i" /storage/Multimedia/Music/"$ARTIST"/"$ALBUM"/"$i"
echo "/storage/Multimedia/Music/$ARTIST/$ALBUM/$i" >> filelist.txt

done

IFS=$SAVEIFS
Run Code Online (Sandbox Code Playgroud)

显然,您需要修改它以使用您的特定文件夹。它要求所有未分类的音乐都在一个文件夹中,并且不会进入子文件夹,但除此之外它很棒。


Oli*_*Oli 2

我以前也有类似的安排。我选择的方法是不让人们写入实际的最终目录,而是有一个传入目录,该目录每天处理一次所有文件,并在此过程中将它们移动到音乐目录。

我发现这好多了,因为我可以一次性处理元数据并删除垃圾文件。

这不会是最有用的帖子,因为我丢失了为此编写的脚本。这是一个 Python 脚本,可以从 Amazon 获取专辑封面,如果没有元数据则检查 CDDB,等等。如果您正在寻找一个快速的 Python 项目,我可以衷心推荐它 - 它很有趣。

否则,您可以使用传入的安排并运行 Banshee 之类的东西,它内部有一个很棒的音乐组织引擎。唯一的问题是您必须手动进行导入,因为我认为没有自动导入功能。