Automatic mixing of musical compositions using machine learning
Given the increasing availability of music production software and the many live musical performances that take place without the assistance of professional sound engineers, the need has arisen for automatic mixing software capable of producing high quality mixes. The mixing of songs is the process of going from individually recorded tracks to a single song. This process involves the use of various e↵ects which are essentially functions applied to the individual tracks in a particular order. After the e↵ects have been applied to each of the tracks, the results are then added together to form the final mix of the song. This project uses machine learning to automate the mixing process. Although the mixing process generally involves multiple e↵ects, this project considers only equalisation and volume control. Two systems are designed, trained and tested, one for equalisation and the other for volume control. Each system tests various architectures to see which performs the best. The performances of the equalisation and volume control systems are evaluated individually as well as together using a data set of professionally mixed songs. The outputs of the neural networks are compared with the professionally mixed songs from the dataset using spectrograms and waveforms of the final mixes produced by each. It is shown that by using well designed neural networks trained to a sufficient level, the quality of the mixes produced by the neural networks approaches that of the professionally mixed songs.
A dissertation submitted in fulfilment of the requirements for the degree of Master of Science to the Faculty of Science, School of Computer Science and Applied Mathematics, University of the Witwatersrand, 2020