Humdrum Representation for Frequency Spectra¶
**spect – discrete frequency spectrum representation
The **spect representation is used to represent successive acoustic spectra. Three types of data tokens are recognized by **spect: spectral data, silence (ambient spectrum), and barlines. In the case of spectral data, each token represents a complete spectrum specified as a set of concurrent discrete frequency components. Each component in the spectrum is represented by a pair of numerical values separated by a semicolon (;). These paired values encode the frequency and amplitude attributes respectively for a single spectral component. Frequency values are positive integer or real values representing hertz. Amplitude values are positive integer or real values representing the sound pressure level in decibels (dB SPL). Where a spectrum consists of more than one pure tone component, the data are encoded as Humdrum multiple-stops.
When no sound is present, this is represented by an ambient spectrum – denoted simply by the upper-case letter `A’.
Barlines are represented using the “common system” for barlines – see **barlines**.
It is recommended that files containing predominantly **spect data should be given names with the distinguishing `.spe’ extension.
The following table summarizes the **spect mappings of signifiers and signifieds.
0-9 frequency or amplitude values specified as integer or real value; measure numbers . decimal point; null token A ambient spectrum (“silence”) = barline; == double barline =; barline with pause sign
Summary of ***spect** Signifiers*
The following sample document encodes five spectra and a barline. The first data record encodes an ambient spectrum (silence). There ensues two spectra, each consisting of three spectral components. The first spectrum consists of a 261 Hz tone at 47 dB SPL, as well as spectral components at 523 Hz and 785 Hz at 57 dB SPL and 35 dB SPL, respectively. Following the barline are two data records that encode two different amalgamations of the preceding two three-component spectra. Notice that these two spectra are identical; only the order of the components differs. In the **spect representation there is no special requirement that the spectral components be encoded in any particular order.
**spect A 261;47 523;57 785;35 330;57 659;35 989;27 =1 261;47 523;57 785;35 330;57 659;35 989;27 261;47 330;57 523;57 659;35 785;35 989;27 *-
The following Humdrum command produces **spect data as output:
**spect** assemble total spectral content for individual sonorities
The following tandem interpretations can be used in conjunction with **spect:
meter signatures *M6/8 key signatures *k[f#c#] key *c#:
Tandem interpretations for ***spect***
The **spect representation frequently produces long data records. Viewing or editing the output using restricted window widths may be inconvenient.