SynthBot is an unsupervised programmer for software synthesizers. It takes as input a target sound ﬁle 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 Coefﬁcient]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 ﬁtness.
The application is primarily implemented in the Java programming language, allowing for rapid prototyping and simple GUI development. The ﬁrst 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.