Algorithmic Composition with Virtual Instrument in MATLAB and on FPGA
Examensarbete för masterexamen
Yagiz Mungan, Remzi
Music is an important part of most people’s lives; it is dominantly created by humans. In this thesis, an alternate source of music, which is hardware in the form of a field programmable gate array (FPGA), is presented. The designed FPGA can create and play its own music. The music is composed by an algorithm, which was developed in MATLAB by combining genetic programming concepts with music theory in order to increase performance of the composer. Initially, a population made of composition pieces created with respect to harmony, is generated. Later, the population goes through genetic processes resulting with the final composition. The fitness function that determines the individual’s ability to survive was optimized through listening tests. The virtual instrument was also developed in MATLAB as a waveform and an attack-decay-sustain-release (ADSR) envelope by recording and analysing an acoustic-electric guitar. The synthesizer like approach allows use of less circuit elements then does a physical model. Hardware implementation is done in a Xilinx University Program Virtex II-Pro board. The audio coder/decoder, AC97 is used as the interface between the digital-to-analog converter (DAC) and the circuit block that handles the composition. The sampling frequency in the FPGA implementation is kept at 9.765 KHz due to problems with the design suite and a smaller population is employed in order to fit into the FPGA. The compositional performance of the implementation in FPGA is comparable to the performance of the algorithm in MATLAB. This work shows that a portable music player that composes its own music seems a possibility in the future with improvements in compositional capability or the sound quality of the instrument. Introduction of a more complex generation conditions and a more complex elimination conditions could be an improvement. Another improvement would be to enable the creation of polyphonic compositions rather than monophonic compositions. On the instrument side, one possible improvement can be using industrially used sampled instruments.
Datorteknik , Computer Engineering