ï~~Xspect: a New X/Motif Signal Visualisation, Analysis and Editing Program X. Rodet, D. Francois and G. Levy IRCAM, 1 place Stravinsky, 75004 Paris, France Tel: (33 1) 44 78 48 68, Fax: (33 1) 42 77 29 47, e-mail: rod@ircam.fr Abstract Xspect is a visualisation and analysis tool aimed at helping in the processing and synthesis of sound signals or generally for any musical and scientific work on sound signals. It is written in Xwindow/Motif to be portable on Unix workstations and be usable across a network. It has already been in use at Ircam for several months on SGI and DEC-Alpha platforms, and is available for external users. Xspect accepts several sound-file formats and offers many facilities in order to precisely adjust displays, analysis, zooming, panning, etc. in any view independently. Xspect can also behave as a visualisation server. 1. Introduction In computer music, as in the speech field, sound signals are examined, listened to, measured, analysed, processed and synthesized by musicians and scientist. For this type of work, a signal visualisation and analysis program (SVAP) is needed. Many SVAPs have been developed for speech, such as SPIRE [Roads 83] or waves+ (a trademark of Entropic), and for music signals, such as MacMix [Freed 86], Xge [Feiten 94] or Mixview [Cook 90]. For our work at Ircam, we wanted a SVAP with the following properties: portability on different Unix platforms, use of standard graphical libraries, client-server architecture on ethernet, suitability to compare signals, support for arbitrary long signals and different file formats, user adaptability and extensibility, and a reasonable price for a multi-user and multi-machine licence. Having not found a program which could fulfill our prerequisites, we where lead to write a new SVAP, named Xspect. 2. Presentation Xspect is an interactive graphical program written in ANSI-C, using the standard Xwindow/Motif graphic libraries, Ircam's UDI [Depalle 90] signal processing library and the SVP extended phase vocoder [Depalle 91]. Xspect is developed and tested under DEC Alpha OSF V.3.2 and SGI IRIX 5.3 and could easily be ported on other Unix platforms. At Ircam, using Unix workstation consoles, X-Terminals, MacIntoshes and PC's where an X server is installed, and Audio Servers running on the machines, it is possible to have the following distributed facilities: - run Xspect on any Alpha or SGI processor, - visualize and interact on any console, X-terminal, Macintosh or PC, - study sound files of any format lying on any disk on any Unix workstation, - play selected segments of sounds on any sound output on Alpha, SGI and X-Terminals. 3. Main Features Xspect allows users to play, display, compare and measure signals and break-point functions, to perform different analysis on signals, resulting in new signals which can be displayed, compared and measured in the same way as signals from files. The largest graphical object of Xspect is the Window (Fig. 1), an X-window with a menu bar and pushbuttons. Several Windows can be opened in order to show different graphs or images. The interaction with the program is done through mouse clicks, pushbuttons and menu items. Key strokes known as "accelerators" facilitate the use of menu items. Each Window can be arbitrarily cut horizontally and/or vertically into any number of Frames of any size (Fig. 1). This allows for easy comparison of different signals, or of different channels of a signal, by putting them in frames of same size placed, for instance, one under the other. It also allows, for example, to place a spectrum in a frame to the right of the signal which it comes from. In one given Frame, several graphics can be superposed as if they were traced on transparencies (Fig. 2). Each such graphic is displayed in a View. This means that any number of Views can be created and superposed in a Frame. Each view is identified by one of the text-fields (named Identifier Boxes) piled in the right up corner of the pane. If these Identifier Boxes hinder the image, they can be shrunk or removed. Xspect offers many facilities in order to precisely adjust graphs, analysis, zooming, panning, etc., in any detail in any View independently by use of the so-called Contexts (See section 7, "Contexts"). The signals which are displayed in Views come from files or from operations (e.g. FFT) on other signal segments. When you want to examine a file, Xspect places it in a so called Buffer but uses memory mapping to allow for any file size, only limited by disk space. Xspect manipulates files and buffers "a la" Emacs (in the limits of possible analogies). Xspect maintains a list of Buffers, which can be selected with the mouse, to be examined in Views. Different types of Marks can be placed and moved on a signal displayed in a view (Fig. 2). A Mark can receive a Label to be displayed at its extremity. One can recall a Mark by its label, in order to display the page around the location of the Mark. Several Marks can appear in a view. One at most is active for interaction at a given moment. Inactive Marks appear in a special rendering such as dashed lines. The horizontal or vertical values pointed at by a Mark can also be displayed. A single Mark is named a Cursor and can point at a certain time in a sound or at a certain frequency in a spectrum and appear as a vertical or horizontal line in a view. A ICMC Proceedings 1996 25 Rodet et al. 0
Top of page Top of page