Кто-нибудь знает инструмент командной строки * ID3 с поддержкой ID3v2 , что вы можете начать работать на Mac OS X с разумными усилиями? Он должен поддерживать как чтение, так и запись тегов.
( * Я хочу иметь возможность вызывать его, например, из некоторых скриптов Python, поэтому инструмент с графическим интерфейсом не подойдет.)
В остальном утилита id3tool хороша, но не поддерживает ID3v2 (и поэтому не очень хорошо работает с iTunes). Мне пришлось скомпилировать его из исходного кода, но это было довольно просто на Mac с Xcode и инструментами разработчика (включая, в частности, компилятор C). В любом случае, я бы особенно хотел что-то с параметрами командной строки, подобными id3tool. Вот пример пометки одного файла:
id3tool -t "Song Title" -r Artist -a "Album Name" -c 2 track-02.mp3
Ответы:
Если у вас установлен Homebrew (настоятельно рекомендуется), вы можете просто сделать:
Это устанавливает несколько инструментов id3 командной строки, в том числе
id3tag
,id3convert
,id3cp
иid3info
. Нет необходимости в скриптах на Python или Perl; просто используйте обычные команды оболочки.источник
id3v2
командой «сделать все». Это позволит вам записать любой произвольный тег в файл.Здесь есть совместимая с OS X версия библиотеки id3lib, доступная здесь, на GitHub . Он утверждает, что поддерживает как ID3v1, так и ID3v2.
источник
configure
,make
иmake install
. id3lib состоит из 4 отдельных двоичных файлов: id3info (для чтения тегов), id3tag (для записи тегов), id3convert и id3cp. Все работает нормально (и iTunes соблюдает теги v2, написанные с помощью id3tag).add-track-names.py *mp3
илиadd-track-numbers.py *mp3
. Обычные вещи (большая часть кода) находятся в отдельном файле .py. Я на самом деле не Python-кодер, поэтому код, вероятно, далек от "pythonic". :) Но я (заново) многому научился, когда написал это, и, возможно, его легко расширить, если ваши потребности в тегировании будут чем-то похожими на мои.Модуль Python Mutagen поставляется с инструментом командной строки ID3 с именем mid3v2, заменяющим id3lib.
Из документации по использованию:
источник
sudo pip install mutagen
после установки pip с помощьюsudo easy_install pip
.sudo easy_install mutagen
слишкомВы можете попробовать id3v2 . Он основан на id3lib, о котором упоминал Хайз, но, кажется, лучший инструмент командной строки, чем те, которые используют id3lib. Он легко выгружает теги ID3V2 из файлов MP3, созданных iTunes, но не из файлов M4A, созданных iTunes (как в случае с Apple Lossless).
Если вам нужны файлы M4A, другой вариант - ffmpeg . Его инструмент командной строки ffprobe печатает метаданные в файлах, и я считаю, что вы можете записывать метаданные через ffmpeg. Он работает с файлами MP3 и M4A, созданными iTunes. ffprobe может не отображать все метаданные; mp4v2 - еще один хороший вариант.
Все три программы легко устанавливаются через Homebrew. Прямо сейчас (январь 2012) ffmpeg требует gcc для компиляции, поэтому
brew install --use-gcc ffmpeg
.источник
Эта старая тема в Mac OS X Hints выглядит так, как будто вы можете начать с нее. Это с 2003 года, поэтому я не уверен, что инструмент, о котором они говорят, все еще разрабатывается. Вам также, возможно, придется скомпилировать его самостоятельно.
источник
Всегда есть AppleScript. Я не большой поклонник этого, но iTunes поддерживает скрипты, и вы можете манипулировать всеми тегами mp3 оттуда. Вы можете вызвать Applescript из командной строки, используя osascript.
источник
На этом сайте: http://dougscripts.com/itunes/ есть много хороших сценариев командной строки и инструментов, которые накладываются поверх itunes для работы с вашей музыкальной библиотекой. Некоторые из них могут делать то, что вы хотите. Некоторые инструменты бесплатны, а некоторые лицензированы.
источник
Так как вы хорошо знакомы с cli и Python, я могу порекомендовать некоторые модули Perl для CPAN. MP3 :: Tag, (а также MP3 :: Tag :: ID3v1 и :: ID3v2 и :: Utils), MP3 :: Info, MP3 :: ID3Lib доступны для чтения и управления тегами ID3.
Если вы зайдете на search.cpan.org и поищете «MP3», вы найдете целый мир вариантов!
(* Где «мир» - это небольшой, ограниченный набор опций ...)
источник
Имея различные проблемы с типом прерывания прерывания с id3v2, я обнаружил eyeD3 , который является модулем python, также существующим в качестве инструмента командной строки. Похоже, что оно было обновлено совсем недавно, чем некоторые другие программы, упомянутые выше.
источник