OS X için iyi bir komut satırı ID3 aracı var mı?


45

Mac OS X üzerinde makul bir çaba ile çalışabileceğiniz ID3v2 desteğiyle bir komut satırı * ID3 aracı bilen var mı? Hem etiket okuma hem de yazma etiketini desteklemelidir.

( * Örneğin bazı Python betiklerinden çağırabildiğim için GUI aracı kullanmayacağım.)

İd3tool yarar aksi iyidir, ama ID3v2 desteklemez (ve böylece iTunes ile iyi ki çalmıyor). Kaynağından derlemek zorunda kaldım, ancak Mac'te Xcode ve geliştirici araçlarıyla (özellikle bir C derleyicisi dahil) oldukça kolaydı. Her neyse, özellikle id3tool ile benzer komut satırı seçeneklerine sahip bir şey istiyorum. İşte bir dosyayı etiketlemenin bir örneği:

id3tool -t "Song Title" -r Artist -a "Album Name" -c 2 track-02.mp3

Bunun gibi bir şey yazmaya çalışıyorum ... python'da bazı kütüphaneler var ve pancar denilen bir araç var, onlardan faydalanan ve nasıl yazıldığını araştırdım.
Robert S Ciaccio

2
ek olarak ... MusicBrainz Picard Python ile yazılmış ve açık kaynak kodlu olduğu için muhtemelen kod ve kütüphane kullanımından da kolayca yararlanabilirsiniz.
Robert S Ciaccio

katılıyorum, Picard sadece zekice
Rohan Monga,

Yanıtlar:


48

Eğer varsa Homebrew (tavsiye) yüklü, sadece yapabilirsiniz:

brew install id3lib

Bu dahil olmak üzere birçok id3 komut satırı araçları yükler id3tag, id3convert, id3cpve id3info. Python veya Perl komut dosyası gerek yok; sadece normal kabuk komutları kullanın.

Usage: id3tag [OPTIONS]... [FILES]...
   -h         --help            Print help and exit
   -V         --version         Print version and exit
   -1         --v1tag           Render only the id3v1 tag (default=off)
   -2         --v2tag           Render only the id3v2 tag (default=off)
   -aSTRING   --artist=STRING   Set the artist information
   -ASTRING   --album=STRING    Set the album title information
   -sSTRING   --song=STRING     Set the title information
   -cSTRING   --comment=STRING  Set the comment information
   -CSTRING   --desc=STRING     Set the comment description
   -ySTRING   --year=STRING     Set the year
   -tSTRING   --track=STRING    Set the track number
   -TSTRING   --total=STRING    Set the total number of tracks
   -gSHORT    --genre=SHORT     Set the genre
   -w         --warning         Turn on warnings (for debugging) (default=off)
   -n         --notice          Turn on notices (for debugging) (default=off)

ID3v2'yi destekliyor mu?
Jonik

id3lib ayrıca macport gibi diğer dağıtımlarda da çalışır. Konuşurken, limanlardan homebrew'e geçmenin bir anlamı var mı? Fink'ten çok acı çektim ...
HiQ CJ

Msgstr "Hata: mid3v2 için uygun formül yok". Bir formüle katkıda bulunmak isteyen var mı?
ManuelSchneid3r,

3
@Jonik id3lib hem ID3v1 hem de ID3v2 yazıp işleyebilir
jocok

1
Aynı zamanda id3v2“her şeyi yap” komutu olan ile birlikte gelir . Bir dosyaya istediğiniz etiketi yazmanıza izin verir.
Edward Falk

14

GitHub'da mevcut olan id3lib kütüphanesinin OS X uyumlu bir sürümü var . Hem ID3v1 hem de ID3v2'yi desteklediğini iddia ediyor.


1
Teşekkürler! Bu tamamen sorumu cevaplıyor. Kullanılabilir yalnızca kaynak paket vardı, ancak bundan (yükleme araçlarını içeren bir Mac'te) yüklemek oldukça kolaydı: standart Unix ücreti configure, makeve make install. id3lib 4 ayrı ikili dosyadan oluşur: id3info (etiketleri okumak için), id3tag (etiketleri yazmak için), id3convert ve id3cp. Her şey iyi çalışıyor (ve iTunes, id3tag ile yazılmış v2 etiketlerini onurlandırıyor).
Jonik

@Jonik Kütüphaneyi sarmak için ne kullandınız? Yazdığın bir piton mu?
Robert S Ciaccio,

@calavera: Evet, bir dosya adından ("Artist - 03 - Track.mp3" gibi) parça numarasını veya adını belirlemeye çalışan basit komut dosyalarım var ve eğer varsa, ID3 etiketine de yaz.
Jonik

@Jonk: paylaşmak ister misin? Python ile ilgili çok fazla tecrübem yok bu yüzden böyle bir şeyle oynamak ve uzatmak harika olurdu ...
Robert S Ciaccio

@calavera: İşte başlıyoruz . Kullanım: add-track-names.py *mp3veya add-track-numbers.py *mp3. Ortak şeyler (çoğu kod) ayrı bir .py dosyasındadır. Ben de gerçekten bir Python kodlayıcı değilim, bu yüzden kod muhtemelen "pythonic" den uzak. :) Ama ben yazarken çok şey öğrendim, ve eğer etiketleme ihtiyaçlarınız benimkine benziyorsa genişletmek kolaydır.
Jonik

5

Piton modülü Mutajen adlı komut satırı ID3 aracı ile dağıtılmaktadır mid3v2 id3lib var için yedek.
Kullanım belgelerinden:

Herhangi bir ID3v2 çerçevesi için değeri '-' ve ardından bir çerçeve kimliği kullanarak ayarlayabilirsiniz.
Örneğin:
mid3v2 - TIT3 "Maymun!" file.mp3, "Altyazı / Açıklama" çerçevesini "Monkey!" olarak ayarlayacaktır.


Mutagen ile sudo pip install mutagenpip kurulduktan sonra kurulabilir sudo easy_install pip.
Lri

doğrudan çalıştırabilirsiniz sudo easy_install mutagençok
user1259710

4

İd3v2'yi denemek isteyebilirsiniz . Huyz'in bahsettiği id3lib'e dayanıyor, ancak id3lib'den daha iyi bir komut satırı aracı gibi görünüyor. İTunes tarafından üretilen MP3'lerden gelen ID3V2 etiketlerini kolayca çöker ancak iTunes tarafından üretilen M4A dosyalarını (Apple Lossless'ta olduğu gibi) çıkarmaz.

M4A dosyalarına ihtiyacınız varsa, başka bir seçenek ffmpeg'dir . Onun ffprobe komut satırı aracı, dosyalardaki meta verileri basar ve meta verileri ffmpeg aracılığıyla yazabileceğinizi düşünüyorum. İTunes tarafından üretilen hem MP3, hem de M4A dosyalarıyla çalışır. ffprobe tüm meta verileri göstermeyebilir; mp4v2 başka iyi bir seçenektir.

Her üç program da Homebrew aracılığıyla kolayca kurulur. Şu anda (Oca 2012) ffmpeg'in derlemesi için gcc gerekiyor brew install --use-gcc ffmpeg.


m4a için mp4v2'yi önerdiğiniz için teşekkürler! bir çekicilik gibi çalışır, oysa id3v2 yapmadı :(
Ilias Karim

mp4v2, etiketleri iTunes ile uyumlu olacak şekilde düzenleyen tek kişidir (macOS 10.13, iTunes 12.7).
void-pointer

2

Mac OS X Hints'deki bu eski konu, başlamanız için iyi bir yer olabilir gibi görünüyor. 2003'ten beri konuşmakta oldukları aracın hala geliştirilip geliştirilmediğinden emin değilim. Ayrıca kendiniz derlemek zorunda kalabilirsiniz.


2

Her zaman AppleScript vardır. Ben büyük bir hayranı değilim, ama iTunes komut dosyası ve tüm mp3 etiketlerini oradan manipüle edebilirsiniz. Applescript'i komut satırından osascript kullanarak çağırabilirsiniz.


2

Bu site: http://dougscripts.com/itunes/ , müzik kitaplığınızla bir şeyler yapmak için birçok üst üste komut satırı komut dosyası ve itunes katmanını oluşturan araçlara sahiptir. Bazıları istediğini yapabilir. Araçların bazıları ücretsiz, bazıları lisanslıdır.


2

cli ve Python ile rahat olduğunuz için CPAN'da bazı Perl modülleri önerebilirim. MP3 :: Tag (ayrıca MP3 :: Tag :: ID3v1 ve :: ID3v2 ve :: Utils gibi), MP3 :: Bilgi, MP3 :: ID3Lib ID3 etiketlerini okumak ve değiştirmek için kullanılabilir.

Search.cpan.org sitesine gidip "MP3" kelimesini ararsanız, seçeneklerin dünyasını * bulacaksınız!

(* "Dünya" küçük, sınırlı bir seçenek kümesidir ...)


1
CPAN CLI ve Python evet, ama Perl modülleri ... çok değil :-) (Çok Python bu kullanabiliyorsa, bunun farkında değildi. Yoksa yerine Perl yazma demek mi?) Şahsen ben bunu aldım Zaten çözüldü , ama belki bu başkaları için yararlıdır.
Jonik

2

İd3v2 ile ilgili çeşitli 'tuzak' tipi sorunları olan, komut satırı aracı olarak da mevcut olan bir python modülü olan eyeD3'ü keşfettim . Yukarıda belirtilen diğer programlardan bazılarından daha yakın zamanda güncellenmiştir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.