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

Η παρούσα διπλωματική εργασία ερευνά εάν ένα σύστημα μηχανικής μάθησης θα μπορούσε να χρησιμοποιηθεί για την εναρμόνιση δοθεισών μουσικών μελωδιών στο στιλ των χορικών του J. S. Bach χωρίς καμία προηγούμενη μουσική γνώση. Τα δεδομένα αποτελούνται από τα 405 χορικά του Bach τα οποία αποκτήθηκαν με χ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Ασημακόπουλος, Κωνσταντίνος
Άλλοι συγγραφείς: Asimakopoulos, Konstandinos
Γλώσσα: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