Ircam - Centre Georges-Pompidou Equipe Analyse/Synthèse

The Diphone Program: New Features, New Synthesis Engines and Experience of Musical Use

Xavier Rodet & Adrien Lefevre

to appear in Proc. ICMC97, Thessaloniki, Grece, September 1997

Abstract

Generalized Diphone Control is a powerful means of building a musical phrase from dictionnaries of analysed sound units by building sequences of units and concatenating and articulating them. The Diphone program is now a mature software composed of two parts. On the one hand, a sequence concatenation and parameter computation engine running on Macintosh or Unix platforms, and, on the other hand, a graphic user interface running on Macintosh. This interface is, as much as possible, compliant with the Macintosh Human Interface Guidelines (Wysiwyg, copy/paste, drag&drop, etc.). We present new developments and features of this program as well as the experience that has been obtained, concerning its musical usage, after a year of work with musicians and composers. Even though Generalized Diphone Control is aimed at providing control parameters for any synthesis method, the first version controlled only an additive synthesis engine. Implementing other engines without care could have lead to a large piece of software resulting in many difficulties well known in software development and maintenance. Therefore, the program has been cut into separate modules using shared libraries and plugins.The core does sequence concatenation, independantly of the synthesis model under use. Peripheral plugins are in charge of the computation of parameter streams for specific synthesis methods and of the synthesis engines themselves. Furthermore, computations accomplished by plugins are done in the background, leaving the interface free for the user. The aim is also that plugins could be written by users according to their specific needs. Several new features have been added to the Diphone program. The first one is a break point function editor allowing for editing not only scalar functions but also vector functions such as sinusoidal partial frequencies or formant data. Editing of diphone sequences has been much improved: segments can now be time warped and truncated, sequences can be given in a script file which allows for their definition in different musical representation programs such as Patchwork. Rythmic grids can also be entered from files. Vertical (pitch) and horizontal scales (time, beats, ticks) have been improved. A fast sonic "preview" has been added: by clicking on the icon of a diphone, one can now hear its sound synthesised without any delay. The additive analysis has been ported and is implemented as another plugin. It is also set up and launched from a graphic user interface. Diphone segmentation of recorded sounds is available from the Audiosculpt program. This renders the building of diphone dictionnaries very fast and easy. Finally Diphone has been completed with the control of the Chant synthesis model and with a Chant synthesis engine allowing for the description of different patches, polyphony and fast synthesis. Since its release, Diphone has been used by various composers in different applications. For instance, an unforseen application has appeared to be in the preparation of (additive) data for use in real-time synthesis. The novel characteristics of the Diphone program have opened new perspectives in vocal and instrumental sound processing. In particular, musical materials which were difficult to conciliate (e.g. discrete structures versus continuous ones), can now be exploited in a very flexible way. Moreover, the possibility of controlling different synthesis methods from the same program allows a more global control of musical aspects of sound synthesis.