SynthBot is an unsupervised programmer for software synthesizers. It takes as input a target sound file and a software synthesizer, and returns the set of parameters for the synthesizer which produce as similar a sound to the target as possible. [Mel Frequency Cepstrum Coefficient]s are used to evaluate sounds similarly to the human ear, and the inverse sum squared error between the target and candidate MFCCs is used to determine the candidate fitness.
The application is primarily implemented in the Java programming language, allowing for rapid prototyping and simple GUI development. The first incarnation of SynthBot works only with VSTi software synthesizers.
VSTi is ubiquitous in music production; working "only" with VSTi is like being "only" usable on any Unix or Unix-like OS. This is actually a very similar strategy to Archaeopteryx, in that it uses custom code to modify controls that are normally accessed via GUI, and leverages ubiquitous protocols.












