150 likes | 182 Views
Explore how computers learn to distinguish between composers through music analysis. Utilizing low-level musical characteristics like note entropy, intervals, and rhythms, this study investigates the unique harmonies found in music, employing machine learning techniques to identify patterns. By comparing works of Mozart and Rachmaninoff and analyzing chord frequencies, a neural network learning algorithm is applied to predict composer styles accurately. The results indicate a strong correlation between harmonic content and composer styles, suggesting potential future research avenues for further exploration.
E N D
Music Genre Analysis Alex Stabile
Research Questions: • Could a computer learn to distinguish between different composers? • Why does music by different composers even sound different?
Possible Answers • Backer et al.: On Musical Stylometry—a Pattern Recognition Approach • Analyzed low-level musical characteristics: note entropy, intervals, rhythms • Used information as input for a statistical model
Project Design • Chords/harmonies all have their own character, so: • Analyze harmonies found in music • Use machine learning techniques to find a relationship between types of harmonies and musical style • Used Python, analyzed Midi files • Compared works by Mozart to works by Rachmaninoff
Example File http://www.ccarh.org/courses/253/files/midifiles-20080227-2up.pdf
Organization/Parsing file • Beat class Notes on beat Notes off beat (Beat number = 8)
Chord Identification • Notes: C, E, G • What kind of chord? Look at intervals… • E: m3, m6 -no matches • G: P4, M6 -no matches • C: M3, P5 -These intervals form a C major chord, root position
Analyzing Data—Machine Learning Approach • Neural Networks: • Each node has a value and an associated weight • Top layer is receives input • Values are propagated through the network, creating values for the other nodes A simple neural network
Learning Algorithm • The network is given a set of training data whose outputs are known Inputs are “fed” through the network: Calculated output is compared with desired output to obtain error http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Learning Algorithm • Back-propagation: the error is propagated backward though the network, and a respective error is calculated for each node • The weights and node values are adjusted based on the errors so that a more desirable output will be obtained http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Learning Algorithm—This Project • Inputs to the network are the frequencies of different kinds of chords • Two composers analyzed: Mozart and Rachmaninoff • Expected output for Mozart: 0 • Expected output for Rachmaninoff: 1
Results 4,000 Iterations 10,000 Iterations 14,000 Iterations 20,000 Iterations
Interpretation of Results • Relationship between harmonic content and style/composer • Humans may learn to analyze this subconsciously, but a computer can be trained to do so as well
Future Research • Analyze more musical factors • Analyze more composers • Analyze composers who are more similar (e.g., Mozart and Haydn)