Video και Audio

MP3 με ελληνικά ID3 tags στο Linux μέσω του Mp3tag

11/09/10 11:16 PM | Eusebius από Eusebius


Η παρακάτω λύση υποθέτει ότι έχετε κάπου πρόχειρη μια εγκατάσταση Windows, από την οποία έχετε πρόσβαση στην μουσικοθήκη σας. Αν δοκιμάζετε πρώτη φορά το Linux και σκοντάφτετε πρώτη φορά πάνω σʼ αυτό το πρόβλημα, κατά πάσα πιθανότητα κάπου θα υπάρχει μια τέτοια εγκατάσταση. :-)

 

Ένας τρόπος να λύσουμε το πρόβλημα των ελληνικών MP3 που εμφανίζουν αλαμπουρνέζικα στα διάφορα προγράμματα του Linux.

 

__TOC__

 

 

 

Λίγη ιστορία και η πηγή του προβλήματος

Ο συνήθης λόγος που κάποια ελληνικά MP3 εμφανίζονται με ακαταλαβίστικους χαρακτήρες είναι ο εξής: τα μεταδεδομένα τους (δηλ. τα tags: καλλιτέχνης, άλμπουμ, τίτλος κλπ.) είναι αποθηκευμένα μόνο σε container τύπου ID3v1. Η απαρχαιωμένη πλέον προδιαγραφή του ID3v1 λέει ότι πρέπει να γράφουμε σε κωδικοσελίδα ISO-8859-1, η οποία όμως δέχεται μόνο λατινικά. Έτσι, επί πολλά χρόνια, για πρακτικούς λόγους, γίνεται κατάχρηση και ο καθένας χρησιμοποιεί ό,τι κωδικοσελίδα τον βολεύει στα ID3v1 (εμείς οι Έλληνες χρησιμoποιούμε συνήθως WINDOWS-1253 ή ISO-8859-7), πράγμα που τείνει να προκαλεί προβλήματα: όταν παίζουμε τα κομμάτια στο λειτουργικό σύστημα ή στο πρόγραμμα που φτιάχτηκαν, τα πάντα εμφανίζονται όπως θέλουμε, κι ας χρησιμοποιείται αντικανονική κωδικοσελίδα. Όταν πάμε σε ένα άλλο πρόγραμμα ή συσκευή ή λειτουργικό σύστημα, είναι πολύ πιθανό να βλέπουμε αλαμπουρνέζικα: τα προγράμματα αδυνατούν να αναγνωρίσουν αυτόματα ποια κωδικοσελίδα έχουμε χρησιμοποιήσει εμείς καταχρηστικά, αντί της κανονικής, δηλ. της ISO-8859-1.

 

Πρόκειται για έναν από τους πολλούς περιορισμούς του ID3v1 που δεν άργησε να γίνει αισθητός. Σύντομα σχεδιάστηκε λοιπόν μια νέα προδιαγραφή, η ID3v2, που μας απάλλαξε από τους πιο ενοχλητικούς περιορισμούς του ID3v1:

 

  1. Τα πεδία του tag έχουν μεγαλύτερη χωρητικότητα, και έτσι δεν κόβονται στη μέση αυτά που γράφουμε
     
     
  2. Έχουμε περισσότερα έτοιμα πεδία (π.χ., τα Composer και Performer) και μπορούμε να φτιάχνουμε κι εμείς οι ίδιοι πεδία (custom fields)
     
     
  3. Η κωδικοσελίδα είναι Unicode, και έτσι χωράνε όλα τα αλφάβητα του κόσμου και τα tags αναγνωρίζονται κατευθείαν από όλες τις σύγχρονες συσκευές και τα προγράμματα

 

Σήμερα οι πιο διαδεδομένες εκδόσεις ID3v2 είναι η ID3v2.3 και η ID3v2.4 (η 2.4 παρουσιάστηκε το 2000). Μία από τις διαφορές τους είναι ο τύπος Unicode: η μεν 2.3 χρησιμοποιεί UTF-16, η δε 2.4 χρησιμοποιεί UTF-8. H 2.4 είναι αρτιότερη τεχνικά, αλλά κάποια προγράμματα δεν την υποστηρίζουν σωστά.

 

Σήμερα πια, όλα τα σύγχρονα προγράμματα γράφουν είτε ID3v2.3 είτε ID3v2.4. Κάποια γράφουν εκ παραλλήλου και ID3v1, για συμβατότητα με παλιές συσκευές και εφαρμογές ~ η συνύπαρξη των δύο εκδόσεων δεν προκαλεί προβλήματα: τα μεν παλιά προγράμματα και συσκευές διαβάζουν το μόνο tag που καταλαβαίνουν, δηλ. το ID3v1, τα δε σύγχρονα καταλαβαίνουν και τις δύο εκδόσεις αλλά διαβάζουν κατά προτεραιότητα την νεότερη.

 

 

 

Τί κάνει το Mp3tag

Το Mp3tag λοιπόν, όταν πατήσουμε Ctrl+S, διαβάζει τα περιεχόμενα του ID3v1.1 του κάθε αρχείου και βάσει αυτών φτιάχνει παράλληλα και ένα ID3v2.3 με κωδικοποίηση UTF-16. Έτσι το MP3 με τα ελληνικά μεταδεδομένα είναι έτοιμο να διαβαστεί από παντού.

 

-- Και γιατί το Mp3tag μπορεί και διαβάζει αυτά τα tags με την αντικανονική κωδικοσελίδα αλλά τα προγράμματα στο Λίνουξ δεν μπορούν; θα ρωτήσει ίσως κάποιος. :-)

 

Όλα μπορούν!

 

Απλώς, το Mp3tag κοιτάζει τις τοπικές ρυθμίσεις των Windows: ας πούμε, αν είναι ελληνικά Windows, ή ξενόγλωσσα Windows με ελληνικά regional settings, ξέρει ότι είναι πιθανό να έχει χρησιμοποιηθεί ελληνική κωδικοσελίδα στο ID3v1, αντί της κανονικής, και είναι έτοιμο να ενεργήσει ανάλογα.

 

Ανάλογα, κάποια προγράμματα στο Λίνουξ επιτρέπουν να ορίσουμε άλλη κωδικοσελίδα από την κανονική για την ανάγνωση των ID3v1. Ωστόσο, ακόμα κι αν έχουμε αυτή τη δυνατότητα, καλό είναι να κάνουμε μία και καλή την επέμβαση της προσθήκης ID3v2 στα MP3 μας, ώστε να διαβάζονται παντού και να έχουμε το κεφάλι μας ήσυχο. :-)

 

 

 

Προαιρετικά βήματα που ενδεχομένως αντενδείκνυνται

Προσοχή! Ακατάλληλη επιλογή για όσους θέλουν συμβατότητα με κάποια προγράμματα (π.χ. το αξιολάτρευτο iTunes) ή συσκευές που δεν υποστηρίζουν ακόμα σωστά το ID3v2.4.

 

Πριν πατήσουμε Ctrl+S στο Mp3tag:

 

  1. Πάμε Tools -> Options -> Tags -> Mpeg
  2. Στο Write, κάτω από το ID3v2, επιλέγουμε ID3v2.4 UTF-8
  3. Πατάμε ΟΚ και συνεχίζουμε με το Ctrl+S

 

Προσωπικά χρησιμοποιώ παντού ID3v2.4 (κυρίως επηρεασμένος από το foobar2000, που γράφει από προεπιλογή ID3v2.4) και δεν έχω δει κανένα πρόβλημα στα διάφορα προγράμματα που έχω χρησιμοποιήσει σε Λίνουξ: Quod Libet, Rhythmbox, Amarok, mpd με διάφορους clients και άλλα που δεν θυμάμαι τώρα. Ωστόσο, όπως είπα πιο πάνω, υπάρχουν προβλήματα με κάποια προγράμματα ή συσκευές. Στην χειρότερη περίπτωση, αν συναντήσετε τέτοια προβλήματα θα αναγκαστείτε να επαναλάβατε τα παραπάνω βήματα αφού πρώτα ξαναγυρίσετε στο default του Mp3tag, δηλ. το ID3v2.3.

 

 

 

Mp3tag στα Windows

  1. Βάλτε μπρος τα Windows
  2. Κατεβάστε και εγκαταστήστε το Mp3tag: http://mp3tag.de/
    Το πρόγραμμα είναι δωρεάν και επίσης ελαφρύ, καθαρό, δυνατό και αξιόπιστο. Highly recommended!

[*]Ανοίξτε το Mp3tag και ρίξτε μέσα τον κατάλογο ή τους καταλόγους με τα MP3 σας (μπορεί να πάρει ώρα, αφού το Mp3tag πρέπει να διαβάσει όλα τα tags όλων των αρχείων)

[*]Πατήστε Ctrl+Α να επιλεγούν όλα

[*]Πατήστε Ctrl+S (κι αυτό θα πάρει ώρα αν είναι πολλά τα αρχεία)

[*]Είστε έτοιμοι!

 

 

 

Mp3tag σε Linux μέσω Wine

Τα παρακάτω προϋποθέτουν ότι έχουμε εγκαταστήσει σωστά το θαυματουργό Wine: http://www.winehq.org/

 

Η εγκατάσταση και οι ρυθμίσεις του Wine είναι άλλη ιστορία, που δεν θα μας απασχολήσει εδώ.

 

Αντί για το απλό Ctrl+S με το οποίο έγινε η δουλειά στα Windows, εδώ θα χρησιμοποιήσουμε μία από τις λεγόμενες «Actions» του Mp3tag, την Convert codepage:

 

http://www.mp3tag.de/en/help/options_format.html

 

  1. Εγκαθιστούμε το Mp3tag μέσω Wine και το ανοίγουμε
    • Αν το Mp3tag διαμαρτυρηθεί ότι δεν υποστηρίζει το λειτουργικό μας και θέλει απο XP και πάνω, πάμε Wine -> Wine Configuration -> Applications -> Windows Version και διαλέγουμε Windows XP

[*]Πάμε Tools -> Options -> Tags -> Mpeg

[*]Στο Write ΑΠΟεπιλέγουμε το ID3v1 και πατάμε ΟΚ <- Εδώ είπαμε του Mp3tag να μην αγγίζει τα ID3v1 των αρχείων μας

[*]Πάμε Convert -> Actions

[*]Στο παράθυρο που θα ανοίξει πατάμε το κουμπάκι πάνω δεξιά για να φτιάξουμε μια νέα δέσμη ενεργειών

[*]Δίνουμε στη δέσμη ένα όνομα, π.χ. From-Windows-1253, και πατάμε ΟΚ

[*]Στο νέο παράθυρο που ανοίγει, ξαναπατάμε το κουμπάκι πάνω δεξιά για να φτιάξουμε μια ενέργεια

[*]Επιλέγουμε Convert codepage από τη λίστα και πατάμε ΟΚ

[*]Στο νέο παράθυρο:

  • Στο Field επιλέγουμε _TAG ~ ΜΗΝ επιλέξετε το _ALL ή κανένα από τα άλλα με την κάτω παύλα! Μπορεί να κλαίτε μετά! :-) Το Mp3tag διαθέτει βέβαια και αναίρεση, αλλά δεν την έχω δοκιμάσει ποτέ με πολλά αρχεία στο Linux...
  • Στο Codepage επιλέγουμε Greek - ελληνικά (1253) και πατάμε ΟΚ

 

Έχουμε φτιάξει πλέον μια δέσμη ενεργειών, την From-Windows-1253, η οποία περιέχει μία και μοναδική ενέργεια: την μετατροπή του κειμένου των tags από windows-1253 στην κατάλληλη κωδικοσελίδα σύμφωνα με την προδιαγραφή των εκάστοτε tags.

 

Στην πράξη ωστόσο, αν φορτώσουμε στο Mp3tag κομμάτια που έχουν μόνο ID3v1 και όχι ID3v2, δεν θα γίνει καμία μετατροπή, αφού είπαμε του Mp3tag (στο 3ο βήμα) να μην αγγίζει τα ID3v1: απλά θα προστεθεί στα κομμάτια και ID3v2.

 

Συνεχίζουμε:

 

  1. Φορτώνουμε στο Mp3tag όλα τα ελληνικά κομμάτια με τα αλαμπουρνέζικα, τα οποία κατά πάσα πιθανότητα δεν έχουν ID3v2
  2. Πατάμε Ctrl+A να επιλεγούν όλα
  3. Πατάμε Alt+5 να εμφανιστεί το παράθυρο με τις δέσμες ενεργειών (Action groups)
  4. Επιλέγουμε τη δέσμη που φτιάξαμε και πατάμε ΟΚ
  5. Περιμένουμε ~ αν είναι πολλά τα αρχεία, μπορεί να χρειαστεί λίγη υπομονή
  6. Είμαστε έτοιμοι

 

Σημείωση: Ελέγξτε και τις απαντήσεις του άρθρου για κάποιες χρήσιμες παρατηρήσεις / εναλλακτικές λύσεις.