Bachelor Thesis

Basic Information

Thesis Assignment

Annotation

This thesis focuses on reconstructing and generating short musical compositions using evolutionary algorithms. The topic requires both algorithmic work and some musical intuition, since the student must choose what kind of musical material will be generated. The solution may use, for example, a genetic algorithm with a suitably defined fitness function. The student is expected to implement the algorithm and evaluate its results.

Aim

The aim of the thesis is to create a short musical composition using an evolutionary algorithm, and optionally to reconstruct a section of an existing piece of music.

Short Description

This thesis deals with the generation and reconstruction of short musical fragments using an evolutionary algorithm. The implemented system creates candidate musical pieces, modifies them through evolutionary operators, and selects better candidates according to a chosen fitness function.

The experiments are divided into two main tasks:

The main focus of the thesis is the comparison of different fitness functions and their influence on search speed, computational cost, and the character of the resulting music.

Work Diary / Weekly Progress

WeekWorkOutput
Nov 2025

Started the first experimental implementation in Rust. The early work focused on representing musical material and testing whether an evolutionary approach was practical for the thesis topic.

Initial Rust prototype.
Dec 2025 – Jan 2026

Worked mainly with fitness-function ideas in the Rust implementation. The symbolic/statistical fitness approach became the most stable direction and was preserved in the later version of the work.

Rust implementation of the statistical fitness idea.
Feb – Mar 2026

Tried an additional MFCC-based fitness direction, but this approach was later abandoned. Around the same period, the plan formed to rewrite the implementation in Python to make the work easier to inspect, reproduce, and extend by the wider community.

Abandoned MFCC-based prototype and decision to move toward Python.

2026-W13

Created the repository for the experimental part of the thesis and began the rewrite from Rust to Python. This period also included discussion about increasing the scope of the work from a single approach to simultaneous implementations based on different fitness approaches and their comparison.

Commit 226cf62 – initial commit and start of the Python rewrite.

2026-W14

Researched methods used in the thesis work by reading selected papers and collecting relevant references for evolutionary music generation and fitness-function design.

Literature review notes and source selection.
2026-W15

Continued looking for additional papers and comparing possible evaluation strategies, especially for symbolic and audio-based approaches.

Expanded list of sources and candidate evaluation methods.
2026-W16

Refined the methodological direction of the thesis and clarified which fitness functions and experiment variants should be implemented and compared.

Method-selection notes for the experiment plan.
2026-W17

Stabilized the experiment code after refactoring. Added the shared library for musical tree representation, compilation to symbolic score, MIDI export, audio rendering, evolutionary operators, and the evolutionary search loop. Added the first experiment scripts for the baseline, global CLAP similarity, chunk-wise CLAP distance, symbolic statistics, and CLaMP evaluation.

Commit d3498a5 – stabilized experiment code.

Current state, to be dated after commit

Ongoing work on experiment scripts and utilities for running the thesis experiment matrix, writing run summaries, and aggregating results. In parallel, ongoing work on the thesis text itself: describing the implemented methods, experiment design, and interpretation of results.

Files such as run_thesis_matrix.py, thesis_experiment_utils.py, updates to experiments exp_02, exp_03, exp_05, and exp_06, and the thesis text.

Evolutionary Algorithms and Genetic Programming

Algorithmic Composition and Evolutionary Music

Models and Metrics for Music/Audio Evaluation

Technical Sources

Current Texts and Outputs

Note: The commercial target recording used in the reconstruction experiments is not published on this page.