Strasheela is a highly expressive constraint-based music composition system. Users declaratively state a music theory and the computer generates music which complies with this theory. A theory is formulated as a constraint satisfaction problem (CSP) by a set of rules (constraints) applied to a music representation in which some aspects are expressed by variables (unknowns). Music constraint programming is style-independent and is well-suited for highly complex theories (e.g. a fully-fledged theory of harmony). Results can be output into various formats including MIDI, Lilypond, and Csound.
|Tags||multimedia Sound/Audio Software Development Libraries Application Frameworks Artistic Software composition music theory|
|Operating Systems||OS Independent|
Release Notes: This release fixes a serious bug. Previously, Strasheela only worked when IOzSeF (an Oz extension for constraint solvers) was installed. It simplifies the installation on Windows by providing an installation batch file. It also adds a collection of ready-made constructors for musical segments such as contrapuntal lines, homophonic chord progressions, or specific motifs, and adds a number of harmony-related constraints. Further additions and bugfixes have been made as well.
Release Notes: This release brings many small-scale improvements and extensions to Strasheela. Most importantly, the implementation of Schoenberg's Theory of Harmony as CSP has been documented (HTML with sound examples), Strasheela now supports adaptive just intonation, the music representation has been extended by several convenient constructors, and a number of pattern constraints have been added. Also, some bugs have been fixed.
Release Notes: This release fixes a serious bug which even caused a compilation error. In order to avoid such errors in the future, the code has been cleaned up, and virtually all compiler warnings are now fixed as well. In addition, the tutorial revision continued, and some distribution strategies have been optimized.
Release Notes: This release improves sound synthesis format export. For example, expressive timing of scores can be defined by time shift functions. Predefined MIDI file export also supports non-note events like continuous controllers (e.g. pitch bend, aftertouch, and CC) and a global tempo curve. Additional examples have been added, and further extensions and bugfixes have been made.
Release Notes: This release supports new techniques for constraining the musical form, and demonstrates them in examples. Also, the definition of complex distribution strategies (variable orderings in the search) is simplified by special constructor functions. Several further examples have been added, and many other extensions and bugfixes have been made.