ï~~A TIMBRE ANALYSIS AND CLASSIFICATION TOOLKIT FOR PURE DATA
William Brent
University of California, San Diego
Center for Research in Computing and the Arts
ABSTRACT
This paper describes example applications of a timbre analysis and classification toolkit for pure data (Pd). The timbrelD collection of Pd externals enable both systematic and
casual exploration of sound characteristics via objects that
are streamlined and easy to use. Details surrounding signal
buffering, blocking, and windowing are performed independently by the objects, so that analyses can be obtained with
very little patching. A modular design allows for adaptable
configurations and many possible creative ends. The applications described here include vowel classification, targetdriven concatenative synthesis, ordering sounds by timbre,
and mapping of a sound set in timbre space.
1. INTRODUCTION
Several projects have been developed for the purpose of organizing sounds and/or querying an audio corpus based on
timbral similarity. CataRT and Soundspotter are among the
most widely recognized open source options [7][3]. The
former is available as a Max/MSP implementation, while
the latter is intended for multiple platforms-including Pd.
Soundspotter's Pd realization is primarily designed for real
time target-driven concatenative synthesis. More general
tools for creative work centered on timbre similarity are limited in Pd.
timbrelD is a Pd external collection developed by the
author. It is composed of a group of objects for extracting timbral features, and a classification object that manages the resulting database of information. The objects are
designed to be easy to use and adaptable for a number of
purposes, including real-time timbre identification, ordering
of sounds by timbre, target-driven concatenative synthesis,
and plotting of sounds in a user-defined timbre space that
can be auditioned interactively. This paper will summarize
the most relevant features of the toolkit and describe its use
in the four applications listed above.
2. FEATURE EXTRACTION OBJECTS
In general, timbrelD's feature extraction objects have four
important qualities. First, each object maintains its own
signal buffer based on a user-specified window size. This
eliminates the need for sub-patches in Pd to set window size
using the block~ object. Second, Hann windowing is automatically applied within each object so that input signals
do not need to be multiplied against a window table using
the tabreceive~ object. Third, analysis timing is sampleaccurate. Each object outputs analysis results upon receiving a bang, capturing the desired slice of audio regardless
of Pd's default 64-sample block boundaries. Thus, there is
no need to set overlap values with block~ in order to define a particular time resolution. Fourth, because the objects
perform analysis on a per-request basis, the only computational overhead incurred during periods of analysis inactivity is that of buffering. Combined, these four qualities make
signal analysis in Pd straightforward and accessible.
2.1. Available Features
The following external objects for measuring basic features
are provided with timbrelD: magSpec~, specBrightness~,
specCentroid~, specFlatness~, specFlux~, specIrrffegularity~,
specKurtosis~, specRolloffr-, specSkewness~, specSpreadr-,
and zeroCrossingr. The more processed features in the set
(generated by barkSpec~, cepstrum~, mfcc~, and bfcc~)
are generally the most powerful for classification. Mathematical definitions for many of these measurements are
given in a previous paper, along with an evaluation of their
effectiveness [1]. Detailed information on sound descriptors in general is available elsewhere [8] [9]. Although an
understanding of the various analysis techniques is not required for use, a general idea of what to expect can be very
helpful. To that effect, a simple demonstration and straightforward explanation of each feature is given in its accompanying help file.
In order to facilitate as many types of usage as possible,
non real-time versions of all feature externals are provided
for analyzing samples directly from graphical arrays in Pd.
2.2. Open-ended analysis strategies
Independent, modular analysis objects allow for flexible analysis strategies. Each of the objects reports its results as either a single number or a list that can be further manipulated
in Pd. Feature lists of any size can be packed together so
that users can design a custom approach that best suits their
224