Lebih
Mengakses mp3 Meta-Data dengan Python
Apa cara terbaik untuk mengambil metadata mp3 di python? I've melihat beberapa kerangka luar sana, tapi aku'm tidak yakin yang akan menjadi yang terbaik untuk digunakan.... Ada ide?
113
16
Aku digunakan eyeD3 hari lain dengan banyak keberhasilan. Saya menemukan bahwa hal itu bisa menambahkan artwork untuk ID3 tag yang modul lainnya saya melihat tidak't. Anda'akan memiliki untuk men-download tar dan mengeksekusi
python setup.py install
dari folder sumber.Contoh yang relevan dari website di bawah ini.
Membaca isi dari file mp3 yang berisi baik v1 atau v2 info tag:
Baca mp3 file (trek panjang, bitrate, dll.) dan akses ini's tag:
Tag tertentu versi yang dapat dipilih:
Atau anda dapat iterate atas baku frame:
Setelah tag terkait untuk file ini dapat dimodifikasi dan disimpan:
Jika tag terkait di v2 dan anda'd ingin menyimpannya sebagai v1:
Baca di tag dan menghapusnya dari file:
Tambahkan tag baru:
I've digunakan mutagen untuk mengedit tag pada file media sebelumnya. Hal yang baik tentang mereka adalah bahwa hal itu dapat menangani format lain seperti mp4, FLAC dll. I've menulis beberapa script dengan banyak keberhasilan menggunakan API ini.
Masalah dengan
eyed3
adalah bahwa hal itu akan membuangNotImplementedError("tidak Dapat menulis ID3 v2.2")
untuk umum file MP3.Dalam pengalaman saya,
gadis
kelasEasyID3
bekerja lebih andal. Contoh:Semua tag lainnya dapat diakses dengan cara ini dan disimpan, yang akan melayani sebagian besar tujuan. Informasi lebih lanjut dapat ditemukan di Mutagen Tutorial.
Apa yang anda're setelah adalah ID3 modul. It's sangat sederhana dan akan memberikan apa yang anda butuhkan. Hanya menyalin ID3.py file ke situs anda-paket direktori dan anda'akan dapat melakukan sesuatu seperti berikut:
cek yang satu ini:
https://github.com/Ciantic/songdetails
Contoh penggunaan:
Menyimpan perubahan:
Contoh sederhana dari buku Menyelam Ke Python bekerja ok bagi saya, ini adalah link download, contoh fileinfo.py. Don't tahu apakah itu's terbaik, tetapi dapat melakukan pekerjaan dasar.
Seluruh buku ini tersedia secara online di sini.
Sekadar tambahan informasi untuk kalian:
lihatlah bagian "MP3 barang dan Metadata editor" di halaman PythonInMusic.
Aku melihat di atas jawaban dan menemukan bahwa mereka tidak baik untuk saya proyek karena masalah perizinan dengan GPL.
Dan saya menemukan ini: PyID3Lib, sementara yang tertentu python binding tanggal rilis yang lebih tua, menggunakan ID3Lib, yang itu sendiri adalah up-to-date.
Penting untuk menyebutkan bahwa keduanya LGPL, dan baik untuk pergi.
cara termudah adalah songdetails..
untuk membaca data
demikian pula untuk mengedit
Don't lupa untuk menambahkan u sebelum nama sampai anda tahu bahasa cina.
anda dapat membaca dan mengedit secara massal menggunakan python modul glob
ex.
Setelah mencoba langkah sederhana
pip menginstal
rute untuk eyeD3, pytaglib, dan ID3 modul yang direkomendasikan di sini, saya menemukan keempat ini pilihan satu-satunya untuk bekerja. Sisanya harus impor kesalahan dengan dependensi yang hilang di C++ atau sesuatu yang ajaib atau beberapa perpustakaan lain yangpip
terjawab. Jadi pergi dengan yang satu ini untuk membaca dasar dari tag ID3 (semua versi):https://pypi.python.org/pypi/tinytag/0.18.0
Daftar atribut yang mungkin bisa anda dapatkan dengan TinyTag:
Itu kecil dan mandiri, seperti yang diiklankan.
Saya akan menyarankan mp3 tagger. Hal terbaik tentang ini adalah didistribusikan di bawah Lisensi MIT dan mendukung semua atribut yang diperlukan.
Contoh:
Mendukung set, dapatkan, update, dan delete atribut dari file mp3.
Jawaban pertama yang menggunakan eyed3 adalah usang jadi di sini adalah versi terbaru itu.
Membaca tag dari file mp3:
Contoh dari web untuk memodifikasi kategori:
Masalah yang saya temui ketika mencoba untuk menggunakan eyed3 untuk pertama kalinya harus dilakukan dengan kesalahan impor dari libmagic meskipun itu diinstal. Untuk memperbaiki hal ini menginstal magic-bin whl dari di sini
Hal ini dapat tergantung pada apa yang ingin anda lakukan selain membaca metadata. Jika hanya sekadar bitrate / nama dll. yang anda butuhkan, dan tidak ada yang lain, sesuatu yang ringan mungkin yang terbaik.
Jika anda're memanipulasi mp3 masa lalu yang PyMedia mungkin cocok.
Ada beberapa, apa pun yang anda lakukan mendapatkan, memastikan dan menguji itu pada banyak sampel media. Ada beberapa versi yang berbeda dari tag ID3 pada khususnya, jadi pastikan itu's tidak terlalu out of date.
Secara pribadi saya've digunakan kecil ini MP3Info kelas dengan keberuntungan. Itu cukup lama sekalipun.
http://www.omniscia.org/~vivake/python/MP3Info.py
Toolkit ini dapat melakukan apa yang anda butuhkan. Saya dapat't mengatakan jika itu's "terbaik", tapi benar-benar, jika memang apa yang anda butuhkan, yang's semua yang penting, kan?
HTH
Setelah beberapa penelitian awal saya pikir songdetails mungkin cocok saya gunakan kasus, tapi itu doesn't menangani .m4b file. Mutagen yang tidak. Perhatikan bahwa sementara beberapa memiliki (cukup) mengambil masalah dengan Mutagen's permukaan dari format asli kunci, yang berbeda dari satu format ke format (TIT2 untuk mp3, judul untuk ogg, \xa9nam untuk mp4, Judul untuk WMA dll.), mutagen.File() memiliki (baru?) mudah=True parameter yang menyediakan EasyMP3/EasyID3 kategori, yang memiliki konsisten, meskipun terbatas, set kunci. I've hanya dilakukan pengujian terbatas sejauh ini, tapi umum tombol, seperti album, artis, albumartist, genre, tracknumber, discnumber, dll. semua hadir dan identik untuk .mb4 dan .file mp3 bila menggunakan mudah=True, sehingga sangat nyaman untuk tujuan saya.
Jika anda dapat menggunakan IronPython, ada TagLibSharp. Hal ini dapat digunakan dari apapun .NET bahasa.