Domanda

Fondamentalmente, ho un sacco di file musicali riprodotti dall'iPod di mio fratello che mantengono i loro metadati ma hanno quei nomi di quattro personaggi assolutamente orribili in cui l'iPod sembra voler archiviarli. Ho pensato di scrivere una bella e veloce sceneggiatura per rinominarli come desideravo, ma sono curioso di sapere se ci sono buone librerie per leggere i metadati ID3. Preferirei Perl o Python. Mi sento a mio agio con Perl da quando lo uso al lavoro, mentre Python mi serve più pratica e renderà felici i miei amici evangelisti di Python.

Comunque, versione abbreviata: puoi nominare una buona libreria / modulo per Python o Perl che mi permetterà di estrarre facilmente metadati ID3 da una pila di mp3?

È stato utile?

Soluzione

MP3 :: Tag è anche un grande. Ancora una volta, se stai cercando un modulo Perl, vai prima a search.cpan.org.

 use MP3::Tag;

  $mp3 = MP3::Tag->new($filename);

  # get some information about the file in the easiest way
  ($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo();
  # Or:
  $comment = $mp3->comment();
  $dedicated_to
    = $mp3->select_id3v2_frame_by_descr('COMM(fre,fra,eng,#0)[dedicated to]');

  $mp3->title_set('New title');         # Edit in-memory copy
  $mp3->select_id3v2_frame_by_descr('TALB', 'New album name'); # Edit in memory
  $mp3->select_id3v2_frame_by_descr('RBUF', $n1, $n2, $n3);    # Edit in memory
  $mp3->update_tags(year => 1866);      # Edit in-memory, and commit to file
  $mp3->update_tags();                  # Commit to file

Altri suggerimenti

Ricerca CPAN attiva diversi moduli Perl quando cerca ID3 . La risposta a quasi tutte le domande Perl che iniziano con " Esiste una libreria ... " è controllare CPAN.

Tendo a amare MP3 :: Tag , ma agli anziani piace io tendo a trovare qualcosa di adatto e ignoro tutti i progressi della tecnologia fino a quando non siamo costretti a cambiare.

Ho avuto fortuna con MP3 :: Info .

Penso che questo frammento: Rinomina file MP3 da tag ID3 da destinatari di Python potrebbe essere utile. Utilizza id3reader lib.

Indice pacchetti Python ha un elenco di pacchetti Python corrispondenti alla ricerca di "id3" qui , i primi dei quali sembrano essere collegati alle tue esigenze. Come per la risposta di brian sopra, la risposta a qualsiasi " esiste un modulo Python che ... " probabilmente inizia con PyPI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top