Помогите организовать музыку

У меня есть установка сервера Ubuntu, настроенная в качестве медиасервера с Subsonic в офисной среде среднего размера. Я разрешаю загрузки от всех сотрудников в папку мультимедиа на сервере.

Как вы можете себе представить, там будет немного запутанно с несколькими вариантами написания имен исполнителей и альбомов для имен каталогов, дубликатов файлов, а также неправильных имен файлов и тегов.

Я надеялся, что смогу найти сценарий, который мог бы запускать ежедневно в качестве задания cron для очистки носителя. Кто-нибудь знает что-нибудь, что может сработать? Я бы хотел сохранить путь, похожий на: /mnt/music/Artist/Album/Song.file

5
задан 26 October 2010 в 18:22

2 ответа

Раньше у меня была похожая аранжировка. Метод, который я выбрал, заключался в том, чтобы не позволять людям писать в конечный конечный каталог, а вместо этого имел входящий каталог, который раз в день обрабатывал все файлы и при этом перемещал их в каталог музыки.

Я нашел это намного лучше, так как я мог работать с метаданными и избавиться от ненужных файлов одним махом.

Это не будет самым полезным постом, потому что я потерял сценарий, который написал для этого. Это был скрипт Python, который брал обложки альбомов у Amazon, проверял CDDB, если не было метаданных, и т. Д. Если вы ищете быстрый проект Python, я могу от всей души порекомендовать его - это было весело.

В противном случае, вы можете использовать входящую аранжировку и запустить что-то вроде Banshee, в котором есть отличный механизм организации музыки. Единственная проблема заключается в том, что вам придется выполнять импорт вручную, так как я не думаю, что есть функция автоматического импорта.

0
ответ дан 26 October 2010 в 18:22

Я нашел этот скрипт 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

нужно будет изменить это, чтобы использовать ваши конкретные папки. Требуется, чтобы вся несортированная музыка находилась в одной папке, и не помещалась в подпапки, но в остальном это здорово.

0
ответ дан 26 October 2010 в 18:22

Другие вопросы по тегам:

Похожие вопросы: