Grégoire Carpentier
IRCAM, Représentations Musicales
Orchidée is a computer-aided orchestration system. It aims at helping composer to write instrumental mixtures that achieve a given idea of timbre, i.e. a given orchestral color. The target timbre is provided by the user as a simple soundfile, and Orchidée searches within a large instrument sample database combinations of sounds that perceptually match the target.
Compared to former automatic orchestration systems Orchidée offers a set of innovative and powerful features: A heterogeneous, multi-level knowledge of instrument capabilities (allowing, among other facilities, the definition of symbolic constraints), a multiobjective approach of timbre similarity, and an interactive search process allowing the discovery of implicit listening preferences.
Orchidée is a innovative tool for computer-aided musical orchestration purposes. The word Orchidée comes from the contraction of orch (for "orchestration") and idée (French word for "idea"). Alternatively, it is a beautiful and very delicate flower, with an extremely complex genetic code. And guess what? Orchidée uses a genetic-based evolutionary search algorithm.
The Orchidée prototype was originally developed in Matlab. It included a set of graphical user interfaces (GUIs) but had a limited and non-extendible musical instrument knowledge. Today, Orchidee is a compiled standalone application server that communicates with client interfaces through OSC messages. Thus, Orchidée allows an easy and flexible control from traditional computer music environments such as OpenMusic or Max/MSP. Another key feature is that the musical knowledge provided with Orchidée may be easily generalized and extended by the user. However, the GUIs have now moved to the client side and are no more delivered with the application.
The Orchidée prototype was designed by researchers Grégoire Carpentier and Damien Tardieu during their PhDs at IRCAM, with the help and supervision of composer Yan Maresz. Their work was supported by the French ANR Sample Orchestrator project. Orchidée is currently developed as a standalone OSC server by Gregoire Carpentier in the Music Representations Group.
After the success of the first Matlab prototype, Orchidée is currently being developed as a standalone application. A client/server framework is put forward in order to ease the integration of automatic orchestration tasks into traditional computer music environments, e.g. OpenMusic or Max/MSP. Orchidée has now become a simple, transparent background application, with which client programs communicate through OSC messages.
Below is the class diagram of the current implementation of Orchidée. Like in the former prototype, the instrument knowledge is derived from the analysis of large sound sample databases. However, this database is now easily extendible by users. The metadata associated to the sound files are stored in XML files that should be seen as a textual version of the internal knowledge. Within this framework, users can easily share extend/share their knowledge by the exchange of simple XML files. Extraction methods to create XML metadata from soundfiles are also provided.
The Orchidée server has the following features:
The OM-Orchidée library allows to interface OpenMusic functions and editors with various functions of the Orchidée server and integrate orchestration tasks into large-scale compositional processes. Editors are provided for the definition of sound target and orchestras.
OM-Orchidée is distributed by the Ircam forum as part of the Forum Research software (OpenMusic's Forum Libraries).