Real-time algorithmic music composition application. - Yap, Alisa Yi Hui (2022)

(untitled)
This project is about the study of evolutionary music, and focuses on the development of an algorithmic music composer using the Java programming language. The motivation of this project is to provide a solution to problems including the high cost and time consumption for composing music, the complexity of music composition, and the limitations of using copyrighted music. The developed system shall be able generated music based on a genetic algorithm, where users can define basic parameters including the instrument used to play the music, tempo, number of generated notes, and the number of measures to generate. In addition, the system also utilises JavaFx and jFugue for its graphical user interface and music programming respectively. Due to time constraints, the development of this system uses a form of RAD development model, namely the phased development model. Besides generating music, the developed system includes various functionalities including saving the music into an audio file, editing the generated music, playing music, as well as loading and viewing the music previously generated and saved by the users. The music produced through this system are relatively simple, and is suited to be applied in personal projects which require such audio accompaniment. Lastly, the deliverable of this project will be a desktop application for users to compose and generate music in real-time with minimal effort.