music-generator
A sophisticated algorithmic composition system that combines fractal patterns, musical genetics, and advanced form structures to create complex musical compositions.
Overview
Languages: Python
Documentation
Creative Music Generator
A sophisticated algorithmic composition system that combines fractal patterns, musical genetics, and advanced form structures to create complex musical compositions.
Overview
This project implements a creative music generation system that uses multiple algorithmic approaches to create musical compositions. It combines:
- Fractal-based melody generation
- Advanced musical form structures
- Genetic algorithms for musical development
- Sophisticated harmony generation
- Multiple texture types and voice leading
- Visualization tools for musical analysis
Components
The project consists of several Python modules:
advanced_composer.py
The main composition engine that orchestrates all components and implements various musical forms including: - Sonata form - Arch form (ABCBA structure) - Moment form (Stockhausen-inspired) - Process music (Reich/Glass-inspired) - Minimalist - Aleatoric - Through-composed
fractal_melody_generator.py
Generates melodies using fractal patterns (Mandelbrot set) with: - Multiple musical modes - Emotional styling - Pitch-to-scale mapping - Dynamic and articulation control
harmony_engine.py
Handles harmonic progression with: - Voice leading optimization - Multiple harmony styles (Classical, Jazz, Modal) - Chord voicing generation - Consonance/dissonance control
musical_genetics.py
Implements genetic algorithms for musical development: - Motif evolution - Fitness evaluation - Musical crossover and mutation - Population management
multi-fractal-music.py
Extends fractal generation to multiple musical parameters: - Multiple fractal types (Mandelbrot, Julia, Koch, etc.) - Independent control of melody, harmony, and rhythm - Sophisticated visualization tools
Installation
-
Clone the repository:
-
Install required dependencies: ```bash pip install numpy matplotlib midiutil sci
[View full README on GitHub]