\section{Εργαλεία που χρησιμοποιήθηκαν} Η υλοποίησή αναπτύχθηκε σε γλώσσα Python και χρησιμοποιήθηκαν πληθώρα βιβλιοθηκών όπως η essentia για την εξαγωγή χαρακτηριστικών, η sklearn για την προεπεξεργασία δεδομένων ενώ στην εκπαίδευση των μοντέλων χρησιμοποιήθηκε η numpy. Χρησιμοποιήθηκε επίσης η seaborn για την εξαγωγή διαγραμμάτων και την οπτικοποίηση των χαρακτηριστικών. Παράλληλα, σε συνδυασμό με όλες αυτές χρησιμοποιήθηκαν και άλλες βιβλιοθήκες όπως η pandas, η matplotlib, η multiprocessing, η οs, η pyaudio κα. Για την εκπαίδευση, δοκιμάστηκαν τα μοντέλα svm, decision trees, multilayer perceptron, Naive bayes και random forest, τα οποία θα αναπτυχθούν στα επόμενα κεφάλαια. Το dataset που χρησιμοποιήθηκε για την εκπαίδευση του μοντέλου είναι το προτινόμενο GTZAN dataset \footnote{http://opihi.cs.uvic.ca/sound/music\_speech.tar.gz}, το οποίο αποτελείται απο 120 αρχεία διάρκειας 30 δευτερολέπτων. Κάθε κλάση (μουσική/φωνή) αποτελείται από 60 αρχεία ενώ δεν υπάρχουν αρχεία που να περιέχουν και τις δύο κλάσεις. Όλα τα δείγματα είναι στα 22050 Hz, Mono 16-bit και σε αρχεία μορφής .wav. \section{Χαρακτηριστικά} Για την εξαγωγή των χαρακτηριστικών που φαίνονται στο από τα αρχεία ήχουν του σετ δεδομένων, αρχικά τμηματήσαμε κάθε σήμα αρχείου σε frames με μέγεθος 6144 δείγματα, το οποίο προέκυψε μετά από επαναλαμβανόμενες δοκιμές. Έπειτα, τα frames αυτά, παραθυροποιήθηκαν με παράθυρο τύπου Hamming, ίσου μεγέθους. Στη συνέχεια, έγινε η εξαγωγή των χαρακτηριστικών στο πεδίο του χρόνου, καθώς και στο πεδίο της συχνότητας.Παράλληλα, έγινε και η εξαγωγή των συντελεστών MFCC έτσι ώστε να είναι εφικτός ο υπολογισμός της διαμόρφωσης της ενέργειας σήματος στα 4 Ηz. Τα χαρακτηριστικά που εξήχθηκαν, τελικά, είναι τα παρακάτω 27 και θα αναλυθούν στη συνέχεια. %pinakas me arxikes kai telikes diastaseis xarakthristikwn % \begin{center} % \begin{tabular}{ |c |c| } % \hline % cell1 & cell2 & cell3 \\ % cell4 & cell5 & cell6 \\ % cell7 & cell8 & cell9 % \hline % \end{tabular} % \label{table:1} % \end{center} \subsection{Zero Crossing Rate - ZCR} Είναι ο ρυθμός της αλλαγής προσήμου κατά τη διάρκεια του σήματος, δηλαδή ο ρυθμός με τον οποίο το σήμα αλλάζει από θετικό και αρνητικό και αντίστροφα. Σε κάποιο βαθμό, δείχνει την μέση συχνότητα του σήματος ως εξής: \begin{equation} \text{ZCR} = \frac{\sum_{m=1}^{N} |sgn ~x(n) - sgn~x(n-1)| }{2N} \end{equation} όπου sgn() η συνάρτηση προσήμου και x(m) το διακριτό σήμα ήχου. Στη γενική περίπτωση, το ZCR για την μουσική είναι αρκετά υψιλότερο από ότι στην φωνή. % \begin{figure}[H] % \begin{subfigure}{.5\textwidth} % \centering % \includegraphics[width=.8\linewidth]{humanvoice.png} % \caption{Φωνή} % \label{fig:sfig1} % \end{subfigure}% % \begin{subfigure}{.5\textwidth} % \centering % \includegraphics[width=.8\linewidth]{musicinstr.png} % \caption{Μουσική} % \label{fig:sfig2} % \end{subfigure} % \caption{Σήματα φωνής και μουσικής με τα αντίστοιχα ZCR \footnote{Discrimination between Speech and Music signal, Sumit Kumar Banchhor,International Journal of Soft Computing and Engineering (IJSCE)}} % \label{fig:fig} % \end{figure} \subsection{Spectral Centroid - SC} Το spectral cendroid ή αλλιώς φασματικό κέντρο, όπως αναφέρεται στο \footnote{ Speech and Music Classification and Separation: A Review Abdullah I. Al-Shoshan Department of Computer Science, College of Computer, Qassim University, Saudi Arabia },είναι μία μετρική που χρησιμοποιείται ώστε να χαρακτηρίσει ένα φάσμα. Υποδεικνύει πού βρίσκεται το κέντρο του φάσματος. Έχει ισχυρή σύνδεση με την "φωτεινότητα " ενός ήχου δηλαδή με την χροιά. Συνήθως, το κέντρο του φάσματος της φωνής συγκεντρώνεται σε χαμηλές συχνότητες και έπειτα συμπτύσσεται πολύ γήργορα στις υψιλότερες συχνότητες ενώ δεν υπάρχει DC συνιστώσα. Αντίθετα, στην μουσική δεν έχει παρατηρηθεί κάποιο συγκεκριμένο σχήμα του φάσματος. \subsection{Roll Off} Το συγκικριμένο χαρακτηριστικό αναπαριστά την τιμή της συχνότητας, κάτω από την οποία βρίσκεται το 95\% της ενέργειας του σήματος. Όπως προαναφέρθηκε, η ενέργεια του μουσικού σήματος συγκεντρώνεται σε υψηλότερες συχνότητες σε σχέση με το φωνητικό σήμα. Η μαθηματική του έκφραση δίνεται ως: \begin{equation} \sum_{k better translate? \begin{table}[H] \begin{tabular}{|l|l|l|} \hline \textbf{Μέθοδος} & \textbf{Τρόπος προεπεξεργασίας} & \textbf{Ακρίβεια} \\ \hline & Χωρίς προεπεξεργασία & 0.49 \\ \cline{2-3} & Κλιμακοποίηση & 0.89 \\ \cline{2-3} & Κανονικοποίηση & 0.49 \\ \cline{2-3} & Κλιμακοποίηση + μετά κανονικοποίηση & 0.78 \\ \cline{2-3} & VarianceThreshold + κλιμακοποίηση & 0.88 \\ \cline{2-3} & PercentileSelection + κλιμακοποίηση & 0.81 \\ \cline{2-3} & VarianceThreshold, κλιμακοποίηση + gamma=scale & 0.88 \\ \cline{2-3} & VarianceThreshold, κλιμακοποίηση + sigmoid kernel & 0.58 \\ \cline{2-3} \multirow{-9}{*}{SVM} & VarianceThreshold, κλιμακοποίηση + poly kernel dgr & 0.84 \\ \hline Decision Tree & VarianceThreshold + κλιμακοποίηση & 0.75 \\ \hline Multi-Layer Perceptron & VarianceThreshold, κλιμακοποίηση + rndState = 2 & 0.86 \\ \hline Naive Bayes & VarianceThreshold + κλιμακοποίηση & 0.65 \\ \hline \end{tabular} \caption{Τρόποι προεπεξεργασίας για διάφορα μοντέλα} \label{table:tab} \end{table} Εν τέλει, αποφασίστηκε να χρησιμοποιηθεί μόνο η κλιμακοποίηση καθώς το κέρδος σε ταχύτητα των παραπάνω τρόπων μείωσης μεταβλητών δεν ήταν αρκετό συγκριτικά με την μείωση της ακρίβειας ώστε να παραμείνουν στην υλοποίηση. Βοήθησαν παρ'όλα αυτά στον προσδιορισμό των χαρακτηριστικών που είναι κάπως καλύτερα από τα άλλα. Στη συνεχεια, για να γίνει κατανοητό εάν τα χαρακτηριστικά που είναι καλύτερα, είναι ικανά να δώσουν μεγάλο ποσοστό ακρίβειας στο μοντέλο, απομονώθηκαν όλα και ελέχθηκαν ένα ένα. Tα αποτελέσματα έδειξαν ότι, τελικά, κανένα χαρακτηριστικό από μόνο του δεν είναι ικανό να δώσει ικανοποιητικό ποσοστό ακρίβειας0. Ακόμα και αν πάρουμε το καλύτερο σε όρους ακρίβειας και το δοκιμάσουμε σε συνδυασμό με τα επόμενα καλύτερα, φαίνεται ότι η ακρίβεια αυξάνεται λίγο αλλά όχι αρκετά. Τέλος, αν επαναληφθεί ακόμα μία φορά η διαδικασία, φαίνεται ότι έχουμε και πάλι μια μικρή αύξηση στην ακρίβεια, η οποία όμως είναι αρκετά μακρυά από την ακρίβεια που επιτυγχάνεται εν τέλει. \begin{table}[H] \begin{tabular}{|l|l|l|l|} \hline \textbf{Accuracy} & \textbf{Individually} & \textbf{with best 1} & \textbf{with best 2} \\\hline 4Hz Mod & 0.58 & 0.66 & 0.73 \\\hline Flat & 0.63 & 0.71 & 0.75 \\\hline HFC & 0.58 & 0.65 & 0.72 \\\hline LAtt & 0.62 & 0.71 & 0.75 \\\hline SC & 0.59 & 0.66 & 0.73 \\\hline Scomp & 0.57 & 0.66 & 0.73 \\\hline SDec & 0.63 & 0.65 & 0.72 \\\hline SEFlat & 0.51 & 0.65 & 0.72 \\\hline SF & 0.55 & 0.69 & 0.75 \\\hline SFlat & 0.57 & 0.66 & 0.72 \\\hline SLAtt & 0.63 & 0.71 & 0.74 \\\hline SR & 0.60 & 0.66 & 0.72 \\\hline SSDec & \textbf{0.65} & - & - \\\hline ZCR & 0.58 & 0.65 & 0.72 \\\hline mfcc0 & 0.61 & 0.66 & 0.73 \\\hline mfcc1 & 0.58 & 0.67 & 0.73 \\\hline mfcc2 & 0.52 & 0.66 & 0.73 \\\hline mfcc3 & 0.56 & 0.69 & 0.76 \\\hline mfcc4 & 0.54 & 0.67 & 0.74 \\\hline mfcc5 & 0.57 & 0.70 & 0.75 \\\hline mfcc6 & 0.61 & \textbf{0.72} & - \\\hline mfcc7 & 0.57 & 0.68 & 0.75 \\\hline mfcc8 & 0.55 & 0.67 & 0.74 \\\hline mfcc9 & 0.54 & 0.67 & 0.73 \\\hline mfcc10 & 0.54 & 0.65 & 0.73 \\\hline mfcc11 & 0.51 & 0.66 & 0.73 \\\hline mfcc12 & 0.54 & 0.67 & 0.73 \\\hline \end{tabular} \caption{Ακρίβεια μεμονωμένων χαρακτηριστικών και συνδυασμών τους} \end{table} %Διαγραμμα features-απόδοσης; Άρα, είναι προφανές ότι δεν είναι κάποιο συγκεκριμένο χαρακτηριστικό το οποίο ευθύνεται για το μεγαλύτερο ποσοστό της ακρίβειας του μοντέλου αλλά ο συνδυασμός τους.