Как мне подготовить музыку для синхронизации с облачным сервисом?
Моя музыкальная коллекция выросла до ок. 4000 файлов за эти годы. Они в основном состоят из mp3, загруженного из разных интернет-магазинов на разных битрейтах, mp3, скопированного с моих CD, и файлов m4a без DRM из iTunes.
В случае, если это имеет значение, я приложил немало усилий, чтобы упорядоченно сохранить мои файлы по следующей схеме:
/shared/music/artist/album/track# title.mp3
Теперь я планирую загрузить их в облачный музыкальный сервис (я думал о Google Play). Я понимаю, что эти сервисы способны на самом деле не загружать музыкальные данные из моих файлов, а просто предоставлять ссылку на песни, которые они уже имеют на своих серверах.
Это хорошо, так как из-за ограниченной полосы пропускания и из-за возможного нарушения законов об авторском праве в моей стране я не хочу, чтобы мои музыкальные файлы были загружены где-либо.
Также я не хочу, чтобы мои файлы заканчивались так:
/artist/album/track# title1.mp3
/artist/collection/sometrack# title2.mp3
/artist/best_of/yetanothertrack# title3.mp3
/artist/bonusalbum_from_japan_only/specialtrack# title4.mp3
Как мне подготовить мою музыкальную коллекцию, чтобы она была должным образом признана службой? Какие приложения доступны, чтобы помочь мне в этом?
5 ответов
Тестируя с Google Music, я понял, что все дело в теге ID3. Что бы вы там ни поместили, Google использует это. не имеет значения, как называются ваши файлы, все дело в ID3. Даже если у вас есть песни, в которых исполнитель и исполнитель альбома различаются, Google будет отображать оба без ошибок. Я предлагаю вам организовать свою музыку именно так, как вы хотите. Похоже, что Google очень хорошо следует стандарту ID3, так что, если вы также следуете этому стандарту, это нормально.
У меня также есть подобная структура, и я довольно одержим тем, как должна быть организована моя музыка, не только имена файлов, но и метаданные.
Для этого я использую две программы: для нескольких изменений в нескольких файлах используйте kid3-qt. Он не зависит от kde и является лучшим программным обеспечением для тегов ID3 в Ubuntu. У вас есть много возможностей пометить ваши данные по имени файла или наоборот. Вы можете увидеть все теги ID3 (потому что программы как легкие теги скрывают те, которые они не знают). Вы даже можете выбрать версию ID3 и кодировку текста, так что вся коллекция стандартна. Я использовал ID3v2.4 с UTF8. Вы можете установить kid3-qt здесь: http://apt.ubuntu.com/p/kid3-qt
Для вашего случая я рекомендую использовать скрипт и использовать eyeD3 для него. Он использует Python, обладает удивительными возможностями и может получить доступ практически к любому тегу в ID3. Вы можете использовать eyeD3 непосредственно из командной строки, но я считаю его более мощным, когда вы создаете скрипт с python. Вы можете установить eyeD3, нажав здесь: http://apt.ubuntu.com/p/eyed3
На веб-странице есть примеры сценариев Python о том, как использовать его в сценарии. Я публикую пример сценария, в котором все исполнитель, альбом, номер дорожки и название помещаются в ID3 в соответствии с форматом вашей музыкальной директории. Сохраняет тег в ID3v2.4 с кодировкой UTF8. Вы должны запустить скрипт в корневой папке с музыкой (/shared/music/).
#! /usr/bin/python
import fnmatch
import os
import eyeD3
audiofile = eyeD3.Tag()
for root, dirnames, filenames in os.walk('.'):
# Linking of ID3 tags and fixing Images
for file in fnmatch.filter(filenames, '*.mp3'):
# Splits the directory name
dirSplit = root.split('/')
fileSplit = file.split(' ',1)
# Linking of tags
audiofile.link(root + "/" + file, eyeD3.ID3_V2)
audiofile.setTextEncoding(eyeD3.UTF_8_ENCODING)
print fileSplit[0]
# Setting the Artist, album, number and title
audiofile.setArtist(dirSplit[1])
audiofile.setAlbum(dirSplit[2])
audiofile.setTrackNum([fileSplit[0]])
audiofile.setTitle(fileSplit[1])
audiofile.do_tdtg = 0 # set to not use the TDTG frame
audiofile.update(eyeD3.ID3_V2_4,0)
Вы можете использовать этот сценарий в качестве отправной точки и, возможно, прочитать полное имя файла и каталог и использовать его, чтобы пометить каждый файл именно так, как вы хотите. Если вы не так навязчивы, как я с метаданными, kid3-qt с опцией установить метаданные в качестве файловой структуры (и вы можете установить структуру именно так, как вы хотите) будет работать идеально. Кстати, вы также можете использовать eyeD3 для пакетного удаления ID3V1.1, что, на мой взгляд, крайне раздражает, поскольку это такой старый стандарт, в котором отсутствуют многие функции, и люди и устройства должны полностью его использовать.
Я бы сделал две вещи. Поскольку ваша структура каталогов настолько аккуратна (комплимент), я бы использовал эту структуру, чтобы а) поместить как можно больше информации в фактическое имя файла и б) поместить эту информацию в теги.
Вы можете переименовать свои файлы исполнитель-альбом-трек. Вы также можете написать скрипт bash, чтобы переименовать их в зависимости от структуры каталогов. Если у вас есть правильные теги ID3 1.x, вы можете использовать mp3info для извлечения данных и использовать их в скрипте bash для переименования ваших файлов в соответствии с их тегами для достижения аналогичного результата.
Если вы хотите, вы можете даже использовать структуру каталогов, чтобы добавить теги альбома и исполнителя в ваши файлы. Опять же, вы можете использовать mp3info здесь:
mp3info - это утилита, используемая для чтения и изменения тегов ID3 в файлах MPEG layer 3 (MP3). Он также может (необязательно) отображать различные технические атрибуты файла MP3.
Лично мне нравится mp3tag. Он может редактировать все теги с множеством полезных функций. Он также может переименовывать файлы в соответствии с их метаданными и даже извлекать метаданные из имен файлов. Это программа для Windows, но она работает без wine
,
Если вам нужна нативная программа для Linux, попробуйте easytag
, Кажется, у него похожая функциональность, но я никогда не пробовал сам. Это должно быть установлено с помощью apt-get
или центр программного обеспечения.
Это может быть совершенно неосновно, но я использовал программу под названием Picard от Musicbrainz, которая позволяет добавлять теги и графические объекты в файлы. Это исключительно хорошо, чтобы выяснить, какие файлы какие.
Это доступно здесь: http://musicbrainz.org/doc/MusicBrainz_Picard
Примечание: я хотел отредактировать свой другой ответ, но этот инструмент заслуживает отдельного ответа для дальнейшего использования.
Для пользователей, которые имеют метаданные в своих mp3-файлах (что часто случается, когда музыка покупается на законных основаниях), можно переименовать файлы на основе метаданных.
Существует отличный пакет, который делает переименование на основе метаданных для музыки и изображений: pyRenamer. Можно установить его используя sudo apt-get install pyrenamer
,
Он по существу использует регулярные выражения и метаданные для переименования файлов. Таким образом, вы можете переименовать файлы, чтобы включить информацию, доступную в метаданных. Вот скриншот.
Это также работает для изображений.
Источники: