ASR system made in Python.
Exercise:
Θέμα 1 (8 βαθμοί): Καλείστε να υλοποιήσετε ένα ASR σύστημα, που δέχεται είσοδο μία ηχογράφηση κάθε φορά, η οποία συνιστά πρόταση αποτελούμενη από 5-10 ψηφία της Αγγλικής γλώσσας που έχουν ειπωθεί με αρκούντως μεγάλα διαστήματα παύσης.
- Το σύστημα προχωρά στην κατάτμηση της πρότασης χρησιμοποιώντας υποχρεωτικά έναν ταξινομητή background vs foreground της επιλογής σας.
- Στη συνέχεια αναγνωρίζει κάθε λέξη χρησιμοποιώντας ως φασματική αναπαράσταση μόνο το mel-spectrogram. Αν χρειαστείτε δεδομένα εκπαίδευσης, χρησιμοποιήστε μόνο σύνολο(α) δεδομένων από το site OpenSLR.
- Στην έξοδο παράγεται κείμενo με τα ψηφία που αναγνωρίστηκαν. • Δώστε έμφαση στην επεξεργασία του σήματος, προτού αρχίσουν τα στάδια κατάτμησης/αναγνώρισης (π.χ., με κατάλληλα φίλτρα, αλλαγή ρυθμού δειγματοληψίας, κ.λ.π). • Είναι σημαντικό να περιγράψετε το σύστημα αλγοριθμικά (εξαγωγή χαρακτηριστικών, αλγόριθμος αναγνώρισης) και να εξηγήσετε τις επιδόσεις του χρησιμοποιώντας τις κατάλληλες μετρικές. • Πρέπει να εξηγήσετε ποια δεδομένα χρησιμοποιήσατε κατά τον έλεγχο και την εκπαίδευση του συστήματος. Αν είναι δικά σας, πώς τα δημιουργήσατε. • Προσπαθήστε να μην εξαρτάται το σύστημα από τα χαρακτηριστικά της φωνής του ομιλητή, αλλά να είναι όσο το δυνατόν ανεξάρτητο ομιλητή
Θέμα 2 (2 βαθμοί)
Ημερομηνία παράδοσης: Παρασκευή 16 Ιουλίου 2021, 23:59μμ. Οpen source audio annotation study. Κάθε ομάδα θα λάβει με email, έως και την Τρίτη 15/6, ένα google drive link από το οποίο θα κατεβάσει 100 αρχεία των 10 δευτερολέπτων, δηλαδή περίπου 16 λεπτά ήχου ανά ομάδα. Στη συνέχεια, θα χρησιμοποιήστε όποιον audio editor επιθυμείτε, προκειμένου να εντοπίσετε τα παρακάτω 10 είδη συμβάντων ήχου στις ηχογραφήσεις: speech, dog, cat, alarm/bell/ringing, dishes, frying, blender, running_water, vacuum_cleaner, electric_shaver_toothbrush Για να είναι άξιο λόγου ένα συμβάν, πρέπει να έχει διάρκεια τουλάχιστον 250 ms. Δύο συμβάντα του ίδιου είδους θεωρούνται ξεχωριστά, αν απέχουν τουλάχιστον 150 ms, αλλιώς θεωρούνται ως ένα συμβάν. Δημιουργήστε ένα csv αρχείο με τα αποτελέσματα. Κάθε γραμμή έχει τη μορφή: [filename (string)][,][onset (in seconds) (float)][,][offset (in seconds) (float)][,][event_label (string)] Για παράδειγμα: File1.wav,0.25,0.721,cat Η πρώτη στήλη είναι το όνομα αρχείου, η δεύτερη η αρχή του συμβάντος σε δευτερόλεπτα (μέχρι 3 δεκαδικά), η τρίτη το τέλος του συμβάντος σε δευτερόλεπτα (μέχρι 3 δεκαδικά) και η τελευταία στήλη το είδος του συμβάντος (βλ. παραπάνω). Αν σε ένα αρχείο, υπάρχουν περισσότερο του ενός συμβάντα, προσθέτουμε γραμμές στο csv, μία ανά συμβάν. Τα ηχητικά συμβάντα μπορεί να επικαλύπτονται. Αν σε κάποιο αρχείο δεν υπάρχει κανένα συμβάν, γράφουμε none στην τελευταία στήλη και -1, -1 στους χρόνους αρχής και τέλους, π.χ., File1.wav,-1,-1,none Παραδοτέο είναι μόνο το csv αρχείο και η παράδοσή του θα γίνει μαζί με τα υπόλοιπα παραδοτέα της άσκησης. Όλα τα αρχεία csv που θα παραδώσουν οι ομάδες θα συνενωθούν, αφού γίνει περαιτέρω επεξεργασία τους για τη διόρθωση τυχόν σφαλμάτων, και θα γίνουν διαθέσιμα σε όλους μας, ως open source annotation database, μέσω της σελίδας του μαθήματος στο gunet και στο github.