Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης
Η παρούσα διπλωματική εργασία ερευνά εάν ένα σύστημα μηχανικής μάθησης θα μπορούσε να χρησιμοποιηθεί για την εναρμόνιση δοθεισών μουσικών μελωδιών στο στιλ των χορικών του J. S. Bach χωρίς καμία προηγούμενη μουσική γνώση. Τα δεδομένα αποτελούνται από τα 405 χορικά του Bach τα οποία αποκτήθηκαν με χ...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | Greek |
Έκδοση: |
2022
|
Θέματα: | |
Διαθέσιμο Online: | http://hdl.handle.net/10889/16547 |
id |
nemertes-10889-16547 |
---|---|
record_format |
dspace |
institution |
UPatras |
collection |
Nemertes |
language |
Greek |
topic |
Σύνθεση μουσικής Εναρμόνιση μελωδίας Τεχνητή νοημοσύνη Τεχνητά νευρωνικά δίκτυα Μηχανική μάθηση Επεξεργασία φυσικής γλώσσας Music composition Melody harmonization Artificial intelligence Artificial neural networks Machine learning Natural language processing Transformer Sequence-to-sequence Attention Self attention Bach |
spellingShingle |
Σύνθεση μουσικής Εναρμόνιση μελωδίας Τεχνητή νοημοσύνη Τεχνητά νευρωνικά δίκτυα Μηχανική μάθηση Επεξεργασία φυσικής γλώσσας Music composition Melody harmonization Artificial intelligence Artificial neural networks Machine learning Natural language processing Transformer Sequence-to-sequence Attention Self attention Bach Ασημακόπουλος, Κωνσταντίνος Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
description |
Η παρούσα διπλωματική εργασία ερευνά εάν ένα σύστημα μηχανικής μάθησης θα μπορούσε να χρησιμοποιηθεί για την εναρμόνιση δοθεισών μουσικών μελωδιών στο στιλ των χορικών του J. S. Bach χωρίς καμία προηγούμενη μουσική γνώση.
Τα δεδομένα αποτελούνται από τα 405 χορικά του Bach τα οποία αποκτήθηκαν με χρήση της βιβλιοθήκης music21 της Python. ́Ολα τα κομμάτια μεταφέρονται στην ίδια κλίμακα και κωδικοποιούνται σειριακά. Τα δεδομένα εισόδου είναι οι νότες της σοπράνο και τα δεδομένα εξόδου είναι οι νότες των υπολοίπων φωνών.
Μετά από ανάλυση δείχνεται πως το πρόβλημα της αυτόματης εναρμόνισης μιας μελωδίας είναι ισοδύναμο μαθηματικά με ένα πρόβλημα μηχανικής μετάφρασης. Για τον λόγο αυτό αποφασίζεται να υλοποιηθεί ένα μοντέλο sequence-to-sequence.
Το πρώτο μοντέλο που υλοποιείται είναι ένα απλό sequence-to-sequence με δύο LSTM επίπεδα χωρίς attention. Αφού προσδιοριστούν οι υπερπαράμετροι το δίκτυο εκπαιδεύεται αλλά αποτυγχάνει να συγκλίνει σε κάποιο ελάχιστο σφάλμα. Η αποτυχία αυτή οφείλεται στο πολύ μεγάλο μήκος των χρονοσειρών (κομματιών) αλλά και στην έλλειψη μηχανισμού attention.
Το δεύτερο μοντέλο είναι ένας transformer που έχει χρησιμοποιηθεί με τεράστια επιτυχία σε προβλήματα μηχανικής μετάφρασης. Εφαρμόζεται τεχνική data augmentation στα δεδο- μένα και κάθε χορικό χωρίζεται σε πολλές μικρότερες χρονοσειρές. Λόγω του πολύ μεγάλου όγκου των δεδομένων το μοντέλο αυτό εκπαιδεύεται επιτυχώς χρησιμοποιώντας ένα 20% των συνολικών δεδομένων, πετυχαίνοντας ακρίβεια κατά την εκπαίδευση 93.66%
Το εκπαιδευμένο μοντέλο χρησιμοποιείται για εναρμόνιση μελωδιών. Οι μελωδίες αυτές είναι διαφόρων στιλ, ξεκινούν από την εποχή του Bach και φθάνουν μέχρι και την σύγχρονη εποχή. Το μοντέλο δίνει πολύ ενθαρρυντικά αποτελέσματα. Δεν κάνει σοβαρά αρμονικά λάθη και τα κομμάτια που παράγει ακούγονται ευχάριστα.
Τα αποτελέσματα που δίνει αυτό το μικρό μοντέλο δείχνουν ξεκάθαρα την καταλληλότητα του transformer για προβλήματα αυτόματης εναρμόνισης μελωδίας. Αξίζει να διερευνηθούν και οι πλήρεις δυνατότητες αυτού του μοντέλου στην αυτόματη εναρμόνιση που ίσως να ξεπεράσει σε απόδοση οποιοδήποτε άλλο μοντέλο έχει χρησιμοποιηθεί μέχρι σήμερα. |
author2 |
Asimakopoulos, Konstandinos |
author_facet |
Asimakopoulos, Konstandinos Ασημακόπουλος, Κωνσταντίνος |
author |
Ασημακόπουλος, Κωνσταντίνος |
author_sort |
Ασημακόπουλος, Κωνσταντίνος |
title |
Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
title_short |
Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
title_full |
Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
title_fullStr |
Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
title_full_unstemmed |
Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
title_sort |
σύνθεση μουσικής με μεθόδους μηχανικής μάθησης |
publishDate |
2022 |
url |
http://hdl.handle.net/10889/16547 |
work_keys_str_mv |
AT asēmakopouloskōnstantinos synthesēmousikēsmemethodousmēchanikēsmathēsēs AT asēmakopouloskōnstantinos musiccompositionwithmachinelearningmethods |
_version_ |
1771297333225455616 |
spelling |
nemertes-10889-165472022-09-05T20:21:23Z Σύνθεση μουσικής με μεθόδους μηχανικής μάθησης Music composition with machine learning methods Ασημακόπουλος, Κωνσταντίνος Asimakopoulos, Konstandinos Σύνθεση μουσικής Εναρμόνιση μελωδίας Τεχνητή νοημοσύνη Τεχνητά νευρωνικά δίκτυα Μηχανική μάθηση Επεξεργασία φυσικής γλώσσας Music composition Melody harmonization Artificial intelligence Artificial neural networks Machine learning Natural language processing Transformer Sequence-to-sequence Attention Self attention Bach Η παρούσα διπλωματική εργασία ερευνά εάν ένα σύστημα μηχανικής μάθησης θα μπορούσε να χρησιμοποιηθεί για την εναρμόνιση δοθεισών μουσικών μελωδιών στο στιλ των χορικών του J. S. Bach χωρίς καμία προηγούμενη μουσική γνώση. Τα δεδομένα αποτελούνται από τα 405 χορικά του Bach τα οποία αποκτήθηκαν με χρήση της βιβλιοθήκης music21 της Python. ́Ολα τα κομμάτια μεταφέρονται στην ίδια κλίμακα και κωδικοποιούνται σειριακά. Τα δεδομένα εισόδου είναι οι νότες της σοπράνο και τα δεδομένα εξόδου είναι οι νότες των υπολοίπων φωνών. Μετά από ανάλυση δείχνεται πως το πρόβλημα της αυτόματης εναρμόνισης μιας μελωδίας είναι ισοδύναμο μαθηματικά με ένα πρόβλημα μηχανικής μετάφρασης. Για τον λόγο αυτό αποφασίζεται να υλοποιηθεί ένα μοντέλο sequence-to-sequence. Το πρώτο μοντέλο που υλοποιείται είναι ένα απλό sequence-to-sequence με δύο LSTM επίπεδα χωρίς attention. Αφού προσδιοριστούν οι υπερπαράμετροι το δίκτυο εκπαιδεύεται αλλά αποτυγχάνει να συγκλίνει σε κάποιο ελάχιστο σφάλμα. Η αποτυχία αυτή οφείλεται στο πολύ μεγάλο μήκος των χρονοσειρών (κομματιών) αλλά και στην έλλειψη μηχανισμού attention. Το δεύτερο μοντέλο είναι ένας transformer που έχει χρησιμοποιηθεί με τεράστια επιτυχία σε προβλήματα μηχανικής μετάφρασης. Εφαρμόζεται τεχνική data augmentation στα δεδο- μένα και κάθε χορικό χωρίζεται σε πολλές μικρότερες χρονοσειρές. Λόγω του πολύ μεγάλου όγκου των δεδομένων το μοντέλο αυτό εκπαιδεύεται επιτυχώς χρησιμοποιώντας ένα 20% των συνολικών δεδομένων, πετυχαίνοντας ακρίβεια κατά την εκπαίδευση 93.66% Το εκπαιδευμένο μοντέλο χρησιμοποιείται για εναρμόνιση μελωδιών. Οι μελωδίες αυτές είναι διαφόρων στιλ, ξεκινούν από την εποχή του Bach και φθάνουν μέχρι και την σύγχρονη εποχή. Το μοντέλο δίνει πολύ ενθαρρυντικά αποτελέσματα. Δεν κάνει σοβαρά αρμονικά λάθη και τα κομμάτια που παράγει ακούγονται ευχάριστα. Τα αποτελέσματα που δίνει αυτό το μικρό μοντέλο δείχνουν ξεκάθαρα την καταλληλότητα του transformer για προβλήματα αυτόματης εναρμόνισης μελωδίας. Αξίζει να διερευνηθούν και οι πλήρεις δυνατότητες αυτού του μοντέλου στην αυτόματη εναρμόνιση που ίσως να ξεπεράσει σε απόδοση οποιοδήποτε άλλο μοντέλο έχει χρησιμοποιηθεί μέχρι σήμερα. This 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. 2022-07-18T11:31:59Z 2022-07-18T11:31:59Z 2022-06-19 http://hdl.handle.net/10889/16547 gr application/pdf |