SNDAN: MUSICAL SOUND ANALYSIS, GRAPHICS,

MODIFICATION, AND RESYNTHESIS ROUTINES FOR UNIX

SNDAN is a package of programs for spectrum analysis, graphics, modification, and resynthesis specifically designed for monophonic musical sounds. Two programs are available for spectral analysis of single channel sound files to produce analysis files containing the time-varying amplitudes and frequencies of the components comprising the sounds. Another program is used to display, modify, and resynthesize sounds from the spectral data. There are also a variety of other programs for resynthesis and for display of time domain data.

Generally it is assumed that the sound file is a monaural NeXT or WAVE sound file, i. e., it has a NeXT header with extension .snd or a WAVE header with extension .wav, and consists of 16-bit integers. However, the programs will also handle headerless sound files consisting of 16-bit integers or 32-bit floats. (Note that the freeware Unix sound utility sox can be used to convert from/to other sound file formats.)

Graphics are EPS files and are automatically viewed by the computer's resident EPS viewer program. These can be saved, printed, or imported into various word processor applications.

Sound files can be graphed using the program sp. It allows control of both the time and amplitude scales of the graph. This program is exceptional for the SNDAN package in that it works for both monaural and stereo sound files.

The program sextract can be used to extract individual sounds from a sound file containing a sequence of these sounds and put them in separate sound files.

Time-varying spectral analysis can be performed by either pvan (phase vocoder analysis) or mqan (spectral tracking analysis). Two types of analysis files are currently used. One (with extension .an) is produced by pvan, while the other (with extension .mq) is produced by mqan, although *.mq files can sometimes be converted into *.an files. While *.an files contain a fixed number of partials (harmonics), *.mq files consist of tracks, whose number varies with time throughout the sound's duration. In both cases the partials or tracks each have an amplitude and frequency for each analysis frame. We have found that pvan works best for sounds which vary little in pitch, whereas mqan is superior for sounds whose pitch varies substantially. pvan is particularly appropriate for single harmonic sounds of definite pitch because the analysis frequency can be set to match the sound's frequency. This is accomplished by a sample rate conversion program internal to pvan. For sounds of indefinite pitch, one can experiment with the analysis frequency. 20 Hz gives good frequency resolution, although not as good time resolution as a higher frequency would.

monan combines the activities of parameter viewing, modification, and additive synthesis. AnView, a NeXT GUI application, combines these same activities plus the activities of pvan and mqan.

Some of the ways that monan can graph time-varying spectral data are; amplitude-vs.-time or frequency-vs.-time for a specific harmonic; amplitudes-vs.-time or frequency-vs.-time for a group of hamonics; fundamental pitch-vs.-time (log frequency scale); brightness (spectral centroid)-vs.- time; harmonic amplitude-vs.-a different harmonic amplitude; spectral irregularity-vs.-time.

Modification of *.an file data can be done using monan. Synthesis of *.an files (using additive synthesis) can be done with monan or with special standalone programs (e.g., addsyn).

Synthesis of *.mq files (using additive synthesis) can be done using the program mqsyn2. Display for *.mq files can be done with the program mqplot.

monan has recently been upgraded to allow input of an auxiliary analysis file. Commands have been written to scale the spectrum of the main data to achieve the spectrum of the auxiliary data at some time point or to blend the two sets of data in order to achieve an interpolation between the two. Other commands involving two analysis data sets are under development.

SNDAN is distributed in source code, and you are expected to recompile it on your machine after downloading. An exception is AnView (for NeXT only), which is supplied only in binary, unless a special request is made. SNDAN has compiled successfully on the following computers: NeXT, SGI Indigo/Indy and O2, Dec Alpha, RS-6000, Sun Sparc, Macintosh with the MachTen OS, and Intel PC with the Linux OS.

If you wish to obtain a source file copy of SNDAN, please register by sending the following information to James Beauchamp using the email link given below.

Example of what to send:
     Name:        James Beauchamp
     Affiliation: University of Illinois at Urbana-Champaign
     Address:     2136 Music Bldg., 1114 W. Nevada, Urbana, IL  USA
     Phone:       +1-217-344-3307
     Email:       j-beauch@uiuc.edu
     Computer:    Pentium II Intel PC
     Op. Sys.:    Linux (Redhat 6.0)
     Software Requested: SNDAN

You will then receive instructions for downloading the software from a web site.

A Windows/DOS version of SNDAN is available at the SNDAN Win/DOS Download Site.

Armadillo, a real-time/non-real-time offspring of SNDAN written for the Power Macintosh (need 7500 and 8.x OS or above) can be downloaded at the Armadillo Website.

James Beauchamp - University of Illinois at Urbana-Champaign 03/20/00
j-beauch@uiuc.edu