SSubToolDesk
el

Πώς να εξάγετε καθαρό κείμενο από αρχεία υποτίτλων SRT ή VTT

Η εξαγωγή του απλού διαλόγου από ένα αρχείο υποτίτλων ακούγεται απλή δουλειά μέχρι να συναντήσετε αριθμούς cue, timestamps και προτάσεις που κόβονται στη μέση της γραμμής. Δείτε πώς γίνεται σωστά.

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

Η χειροκίνητη προσέγγιση, και πού αποτυγχάνει

Ένα γρήγορο εύρεσης-και-αντικατάστασης με μια regex για γραμμές timestamp (\d{2}:\d{2}:\d{2}[,.]\d{3}\s*-->\s*...) καλύπτει την προφανή περίπτωση. Εκεί που καταρρέει:

  • Αριθμοί cue που μοιάζουν με κείμενο. Μια γραμμή που είναι απλά 42 μόνη της θα μπορούσε να είναι δείκτης cue, ή, σπάνια, μέρος του πραγματικού διαλόγου (ένας χαρακτήρας που διαβάζει έναν αριθμό). Η αφελής αφαίρεση δεν μπορεί πάντα να ξεχωρίσει αξιόπιστα τη διαφορά σε μεγάλη κλίμακα.
  • Προτάσεις χωρισμένες σε πολλά cues. Οι υπότιτλοι χωρίζονται για αναγνωσιμότητα στην οθόνη (περίπου μία γραμμή κάθε λίγα δευτερόλεπτα), όχι για γραμματικούς κανόνες. Μια ενιαία πρόταση εκτείνεται συνήθως σε δύο ή τρία συνεχόμενα cues. Η αφαίρεση των γραμμών χρονισμού χωρίς να επανασυνδέσετε τα θραύσματα σας αφήνει με κομματιαστά, αποσυνδεδεμένα κομμάτια προτάσεων αντί για ρευστή πρόζα.
  • Ενσωματωμένα tags μορφοποίησης. Τα <i>, <b>, και τα tags φωνής/χρώματος του VTT (<v Speaker>, <c.colorname>) πρέπει να αφαιρεθούν κι αυτά, αλλιώς θα εμφανιστούν ως κείμενο με κυριολεκτικές γωνιακές αγκύλες στο αποτέλεσμά σας.
  • Μικτά line endings. Αρχεία που έχουν εξαχθεί από διαφορετικά εργαλεία ή λειτουργικά συστήματα κάποιες φορές αναμειγνύουν \r\n και \n, κάτι που μπορεί να χαλάσει patterns regex που υποθέτουν το ένα ή το άλλο.

Πώς φαίνεται ένα καλό αποτέλεσμα

Το σωστά εξαγμένο κείμενο διαβάζεται σαν κανονική πρόζα: πλήρεις προτάσεις, αλλαγές παραγράφου όπου υπάρχουν φυσικές παύσεις, χωρίς περιπλανώμενους αριθμούς ή θραύσματα timestamp, χωρίς υπολειπόμενη σήμανση. Ο στόχος είναι ένα κείμενο που διαβάζεται όπως θα διάβαζε κάποιος που είχε απλά απομαγνητοφωνήσει τον διάλογο εξαρχής, χωρίς κανένα ίχνος της μορφής υποτίτλων από την οποία προήλθε.

Πώς να το κάνετε χωρίς το χειροκίνητο καθάρισμα

Ο μετατροπέας SRT σε TXT μας (και ο αντίστοιχος μετατροπέας VTT σε TXT) κάνει όλο αυτό αυτόματα: αριθμοί cue και timestamps αφαιρούνται, tags αφαιρούνται, προτάσεις που ήταν χωρισμένες σε πολλά cues επανασυνδέονται σε συνεκτικές παραγράφους. Τρέχει εντελώς μέσα στον browser σας, οπότε τίποτα από το αρχείο δεν στέλνεται πουθενά.

Μετατροπή SRT σε TXT