ï~~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
Top of page Top of page