Logo

SuperWillow

Overview

SuperWillow is a Music Generation program.

Artists have many influences which they have accumulated over the years by listening to countless pieces of music, this principle is reflected in SuperWillow. The computer analyses (listens to) many pieces of music and composes music by sampling from the analysis.

Demos

Demos
compositionmidipdfaudioMusicXML
Human Input - First Orderlistenread

Please Refresh or go to Adobe and download flash player

Human Input - First Orderlistenread

Please Refresh or go to Adobe and download flash player

Partial AI - First Orderlistenread

Please Refresh or go to Adobe and download flash player

AI - Mixed Order (style Burger)listen

Please Refresh or go to Adobe and download flash player

import
AI - Mixed Order (style Burger)listen

Please Refresh or go to Adobe and download flash player

import
AI - Higher Order (style Burger)listen

Please Refresh or go to Adobe and download flash player

import
AI - Mixed Order (style Melted)listen

Please Refresh or go to Adobe and download flash player

import
AI - Mixed Order (style Melted)listen

Please Refresh or go to Adobe and download flash player

import
AI - Higher Order (style Melted)listen

Please Refresh or go to Adobe and download flash player

import
AI - Mixed Order (style Schulze)listen

Please Refresh or go to Adobe and download flash player

import
AI - Mixed Order (style Schulze)listen

Please Refresh or go to Adobe and download flash player

import
AI - Higher Order (style Schulze)listen

Please Refresh or go to Adobe and download flash player

import

Technical

The library of music pieces which are analysed by SuperWillow are all in MusicXML format. This notation format is widely used by music notation programs, like Finale, Sibelius, Guitar Pro, etc. making it a standard for exchanging music notation data. PyScore, a python package, includes converts to Guido and MIDI formats and with its extension PyScore-Ly can also convert to Lilypond format, implying usability in the opensource community.

Generation uses a sequence of XML operations. These XML operations use the xml tools: DOM and XSLT and can recieve input from probabilistic models (visible and hidden Markov models of mixed, higher or first order) or human input. Each step outputs valid MusicXML and can be imported into any supporting software for viewing/editing.

History

This project was created as part of Walter Schulze's masters thesis, A Formal Language Theory Approach To Music Generation.

Thesis Abstract: We investigate the suitability of applying some of the probabilistic and automata theoretic ideas, that have been extremely successful in the areas of speech and natural language processing, to the area of musical style imitation. By using music written in a certain style as training data, parameters are calculated for (visible and hidden) Markov models (of mixed, higher or first order), in order to capture the musical style of the training data in terms of mathematical models. These models are then used to imitate two instrument music in the trained style.

Links

Download (beta)
Installation
Article on IEEE Multimedia - Music Generation with Mixed and Higher Order Markov Models
Walter Schulze (Creator)
Willow (Original Spawn)
Thesis Latex Template
Python Powered SourceForge.net Logo Valid XHTML 1.0 Transitional Valid CSS! LibXML2 wxWidgets Lilypond KGuitar Inkscape