Управление коллекцией музыки

Я предпочитаю хранить музыку в каталогах следующей структуры:

/Music/Жанр/Исполнитель/(год выпуска) Альбом/

Внутри каталога с альбомом, лежат файлы с названиями:

01) Название трека.ogg
02) Название второго трека.ogg
03) Название третьего трека.ogg

Если у альбома есть вариант в Lossless, его файлы будут в том же каталоге, и набор файлов будет выглядеть так:

01) Название трека.flac
01) Название трека.ogg
02) Название второго трека.flac
02) Название второго трека.ogg
03) Название третьего трека.flac
03) Название третьего трека.ogg

Зачем хранить одновременно Lossless и сжатый с потерями варианты одного и того же альбома? Ответ прост: последний, при синхронизации, копируется на карманный аудиоплеер (где места не так много, чтобы держать там музыку в форматах сжатия без потерь).

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

0000 FLAC.m3u
0000 Ogg.m3u

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

Скрипты

Автоматическое создание плейлистов

Для создания плейлистов описанного выше вида, написал небольшой скрипт. Если поместить его в /opt/mkm3u.php, находясь в корневом каталоге с музыкой (/Music), можно будет выполнить:

/opt/mkm3u.php -r

Во всех подкаталогах будут созданы (либо обновлены) плейлисты, в соответствии с присутствующими в каждом конкретном каталоге форматами файлов.

Конвертирование CUE+альбом во FLAC

Синхронизация с карманным mp3-плеером

Для того, чтобы на плеер копировалась музыка только в форматах сжатия с потерями (и соответствующие ей плейлисты), я использую следующий мини-скрипт:

#!/bin/sh
rsync -r --progress \
  --delete --delete-excluded --prune-empty-dirs \
  --whole-file --size-only \
  --include='*.mp3' --include='0000 MP3.m3u' \
  --include='*.mpc' --include='0000 MPC.m3u' \
  --include='*.ogg' --include='0000 Ogg.m3u' \
  --include='*/'    --exclude='*' \
  /source/path/Music/ /media/mp3player/Music/

Ссылки


music-management.txt · Last modified: 2008-12-15 19:33 UTC (external edit)