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: