ï~~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