Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης

datacite.contributor.RelatedPersonΙωάννης Μουρτζόπουλος
datacite.contributor.SupervisorΚυριάκος Σγάρμπας
datacite.rightshttp://purl.org/coar/access_right/c_abf2el
dc.contributor.authorΑσημακόπουλος, Κωνσταντίνος
dc.contributor.otherAsimakopoulos, Konstandinos
dc.date.accessioned2022-07-18T11:31:59Z
dc.date.available2022-07-18T11:31:59Z
dc.date.copyright2022-06-19
dc.degreegraduateThesisel
dc.description.abstractΗ παρούσα διπλωματική εργασία ερευνά εάν ένα σύστημα μηχανικής μάθησης θα μπορούσε να χρησιμοποιηθεί για την εναρμόνιση δοθεισών μουσικών μελωδιών στο στιλ των χορικών του J. S. Bach χωρίς καμία προηγούμενη μουσική γνώση. Τα δεδομένα αποτελούνται από τα 405 χορικά του Bach τα οποία αποκτήθηκαν με χρήση της βιβλιοθήκης music21 της Python. ́Ολα τα κομμάτια μεταφέρονται στην ίδια κλίμακα και κωδικοποιούνται σειριακά. Τα δεδομένα εισόδου είναι οι νότες της σοπράνο και τα δεδομένα εξόδου είναι οι νότες των υπολοίπων φωνών. Μετά από ανάλυση δείχνεται πως το πρόβλημα της αυτόματης εναρμόνισης μιας μελωδίας είναι ισοδύναμο μαθηματικά με ένα πρόβλημα μηχανικής μετάφρασης. Για τον λόγο αυτό αποφασίζεται να υλοποιηθεί ένα μοντέλο sequence-to-sequence. Το πρώτο μοντέλο που υλοποιείται είναι ένα απλό sequence-to-sequence με δύο LSTM επίπεδα χωρίς attention. Αφού προσδιοριστούν οι υπερπαράμετροι το δίκτυο εκπαιδεύεται αλλά αποτυγχάνει να συγκλίνει σε κάποιο ελάχιστο σφάλμα. Η αποτυχία αυτή οφείλεται στο πολύ μεγάλο μήκος των χρονοσειρών (κομματιών) αλλά και στην έλλειψη μηχανισμού attention. Το δεύτερο μοντέλο είναι ένας transformer που έχει χρησιμοποιηθεί με τεράστια επιτυχία σε προβλήματα μηχανικής μετάφρασης. Εφαρμόζεται τεχνική data augmentation στα δεδο- μένα και κάθε χορικό χωρίζεται σε πολλές μικρότερες χρονοσειρές. Λόγω του πολύ μεγάλου όγκου των δεδομένων το μοντέλο αυτό εκπαιδεύεται επιτυχώς χρησιμοποιώντας ένα 20% των συνολικών δεδομένων, πετυχαίνοντας ακρίβεια κατά την εκπαίδευση 93.66% Το εκπαιδευμένο μοντέλο χρησιμοποιείται για εναρμόνιση μελωδιών. Οι μελωδίες αυτές είναι διαφόρων στιλ, ξεκινούν από την εποχή του Bach και φθάνουν μέχρι και την σύγχρονη εποχή. Το μοντέλο δίνει πολύ ενθαρρυντικά αποτελέσματα. Δεν κάνει σοβαρά αρμονικά λάθη και τα κομμάτια που παράγει ακούγονται ευχάριστα. Τα αποτελέσματα που δίνει αυτό το μικρό μοντέλο δείχνουν ξεκάθαρα την καταλληλότητα του transformer για προβλήματα αυτόματης εναρμόνισης μελωδίας. Αξίζει να διερευνηθούν και οι πλήρεις δυνατότητες αυτού του μοντέλου στην αυτόματη εναρμόνιση που ίσως να ξεπεράσει σε απόδοση οποιοδήποτε άλλο μοντέλο έχει χρησιμοποιηθεί μέχρι σήμερα.el
dc.description.translatedabstractThis graduate thesis explores whether a machine learning system could be used to harmonise given musical melodies in the style of J. S. Bach’s chorales. The dataset is comprised of the 405 chorales by Bach and was acquired using Python’s music21 library. All data are transposed into the same key and encoded serially. The input data are all the soprano notes and the output data are the notes corresponding to the other three voices. After analysis it is shown that the problem of automatic harmonization is mathemati- cally equivalent to that of machine translation. For this reason it is decided to implement a sequence-to-sequence model. The first model that is implemented is a simple sequence-to-sequence model, comprised by two LSTM layers without attention. After defining the hyperparameters the model is trained but fails to converge to a minimum error. This failure is because of the very large length of the timeseries (pieces) and the lack of an attention mechanism. The second model that is implemented is a transformer, which has been used with great success at machine translation tasks. This time a data augmentation technique is used and every chorale is spli into a number of smaller timeseries. Because of the now extremely large dataset, the model is trained only on a 20% of the total amount of data, achieving a training accuracy of 93.66%. The trained model is used to harmonize a various melodies. These melodies are from many different musical styles and vary from Bach’s era to the modern era. The model’s results are very good. There are no serious harmonic mistakes and the pieces sound musically pleasant. The results of this small model clearly show that the transformer architecture is very qualified for automatic melody harmonization problems. It is very interesting to explore what the full capacity of this model could achieve in automatic harmonization as it could outperform any other model that has been used to this day.el
dc.identifier.urihttp://hdl.handle.net/10889/16547
dc.language.isogrel
dc.subjectΣύνθεση μουσικήςel
dc.subjectΕναρμόνιση μελωδίαςel
dc.subjectΤεχνητή νοημοσύνηel
dc.subjectΤεχνητά νευρωνικά δίκτυαel
dc.subjectΜηχανική μάθησηel
dc.subjectΕπεξεργασία φυσικής γλώσσαςel
dc.subject.alternativeMusic compositionel
dc.subject.alternativeMelody harmonizationel
dc.subject.alternativeArtificial intelligenceel
dc.subject.alternativeArtificial neural networksel
dc.subject.alternativeMachine learningel
dc.subject.alternativeNatural language processingel
dc.subject.alternativeTransformerel
dc.subject.alternativeSequence-to-sequenceel
dc.subject.alternativeAttentionel
dc.subject.alternativeSelf attentionel
dc.subject.alternativeBachel
dc.titleΣύνθεση μουσικής με μεθόδους μηχανικής μάθησηςel
dc.title.alternativeMusic composition with machine learning methodsel
oaire.licenseConditionnullel
Files
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
Name:
Διπλωματική_Ασημακόπουλος.pdf
Size:
2.46 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
4.53 KB
Format:
Item-specific license agreed upon to submission
Description: