MATLAB System for Expressive Algorithmic Composition​

This project was created and submitted as a Final Project for the Music Engineering class at Indiana University Indianapolis in Spring 2025. The original project and documents can be accessed in the following link:

IUI Music Engineering – Final Project

The project is a modular audio synthesis and composition framework developed entirely in MATLAB. It provides a fully programmable environment for creating algorithmic music using object-oriented structures for synthesis, motif-based composition, and expressive automation.

System Architecture

This project was designed around four main components:

1. Motif-Based Composition Engine: 

Uses custom MusVoice and MusMotif classes, enabling stochastic selection and transformation of motifs using Markov chains. Musical features such as rhythm, pitch contour, and dynamics are encoded and managed independently.

2. Sound Synthesis Modules

The framework supports multiple synthesis techniques:

– SynthAdditive: Classic harmonic synthesis

– SynthSubtractive: Filtering of rich source waveforms

– SynthWavetable: Custom single-cycle waveform oscillators

– SynthNoise: Filtered noise bands

– SynthVoice and SynthFluteHybrid: Vocal and flute-like models

3: Audio Processing & Expressive Control

VoiceLines can be shaped through: ADSR envelopes, Vibrato (via time warping), Chorus and Multi-Tap Reverb, Gain and pan automation, Optional filtering (e.g., lowpass FIR)

4. Visualization Tools

The GraphicHelper class provides visualizations of pitch, gain, pan curves, waveform energy, and spectrograms for analysis and documentation.

 

Class Diagram:

 

Demo Piece: