This tool implements an algorithmic composition technique based on simulated annealing. Simulated annealing belongs to a class of probabilistic algorithms where large search spaces can be explored using a generate and test approach, and an optimal solution is not required. In a musical context, the initial state is an arbitrary set of pitches. These pitches are tested according to a criterion, such as relative consonance, then microtonally perturbed and re-tested according to this same criterion. This process continues until a goal state or some arbitrary practical limit is reached. Thus, the resulting music is an emergent property of the search process. Unlike optimization problems where the goal is a solution, algorithmic composition using simulated annealing is all about the journey and not the destination.
!Freq1 !Freq2 !Freq3 !Freq4 event values reflect the contents of the 4 elements of each generation as it progresses, and are presumed to be associated with 4 tracks of an associated Multigrid. !RefFreq is used as a reference when evaluating the 4 frequencies of an iteration and can be changed externally or in this tool. !Level1 !Level2 !Level3 !Level4 simply control the levels of each track by convention. The associated Multigrid tracks are selected and triggered as appropriate during the process.
An associated Multigrid is provided as an example (SAT-Example.mgd). This example is naturally quite simple. It will "discover" something like a major chord around generation #55, then stop the perturbation process for the remaining generations. If you find major triads disturbing, you can then change the reference frequency, and more wandering will occur. You can of course use any sounds in your multigrid, and there is infinite musical exploration available to you in the tool.
To run, first start the Multigrid (SAT-Example.mgd), then play it. There should be no sound since the tool will be taking control.
Now, start the Tool (SAT.pci), then hit Run for continuous operation or Step to manually go from generation to generation. Note that you can click on the labels above the widgets for some additional help.
The sa-voice.wav file is referenced by the Multigrid.
I hope you enjoy your musical explorations with this tool, and look forward to hearing about your experience with it.