Source: https://www.dsprelated.com/freebooks/sasp/PARSHL_Program.html
Timestamp: 2019-04-20 06:37:44+00:00

Document:
This appendix is adapted from the original paper describing the PARSHL program  for sinusoidal modeling of audio. While many of the main points are summarized elsewhere in the text, the PARSHL paper is included here as a source of more detailed info on carrying out elementary sinusoidal modeling of sound based on the STFT.
As mentioned in §G.7.1, the phase vocoder was a widely used analysis tool for additive synthesis starting in the 1970s. A difficulty with the phase vocoder, as traditionally implemented, is that it uses a fixed uniform filter bank. While this works well for periodic signals, it is relatively inconvenient for inharmonic signals. An ``inharmonic phase vocoder'' called PARSHLH.1 was developed in 1985 to address this problem in the context of piano signal modeling . PARSHL worked by tracking peaks in the short-time Fourier transform (STFT), thereby synthesizing an adaptive inharmonic FIR filter bank, replacing the fixed uniform filter bank of the vocoder. In other respects, PARSHL could be regarded as a phase-vocoder analysis program.
The PARSHL program converted an STFT to a set of amplitude and frequency envelopes for inharmonic, quasi-sinusoidal-sum signals. Only the most prominent peaks in the spectrum of the input signal were tracked. For quasi harmonic sounds, such as the piano, the amplitudes and frequencies were sampled approximately once per period of the lowest frequency in the analysis band. For resynthesis, PARSHL supported both additive synthesis  using an oscillator bank and overlap-add reconstruction from the STFT, or both.
PARSHL followed the amplitude, frequency, and phaseH.2 of the most prominent peaks over time in a series of spectra, computed using the Fast Fourier Transform (FFT) The synthesis part of the program used the analysis parameters, or their modification, to generate a sinewave in the output for each peak track found.
Compute the STFT using the frame size, window type, FFT size, and hop size specified by the user.
Compute the squared magnitude spectrum in dB ( ).
Find the bin numbers (frequency samples) of the spectral peaks. Parabolic interpolation is used to refine the peak location estimates. Three spectral samples (in dB) consisting of the local peak in the FFT and the samples on either side of it suffice to determine the parabola used.
The magnitude and phase of each peak is calculated from the maximum of the parabola determined in the previous step. The parabola is evaluated separately on the real and imaginary parts of the spectrum to provide a complex interpolated spectrum value.
Each peak is assigned to a frequency track by matching the peaks of the previous frame with the current one. These tracks can be ``started up,'' ``turned-off'' or ``turned-on'' at any frame by ramping in amplitude from or toward 0 .
Arbitrary modifications can be applied to the analysis parameters before resynthesis.
If additive synthesis is requested, a sinewave is generated for each frequency track, and all are summed into an output buffer. The instantaneous amplitude, frequency, and phase for each sinewave are calculated by interpolating the values from frame to frame. The length of the output buffer is equal to the hop size which is typically some fraction of the window length .
Repeat from step 1, advancing samples each iteration until the end of the input sound is reached.
where denotes the FFT window, and is the hop size in samples. This constant overlap-add (COLA) constraint ensures that the successive frames will overlap in time in such a way that all data are weighted equally.
The COLA constraint can be overly conservative for steady-state signals. For additive synthesis purposes, it is more efficient and still effective to increase the hop size to the number of samples over which the spectrum is not changing appreciably. In the case of the steady-state portion of piano tones, the hop size appears to be limited by the fastest amplitude envelope ``beat'' frequency caused by mistuning strings on one key or by overlapping partials from different keys.
For certain window types (such as sum-of-cosine windows, as discussed in Chapter 3), there exist perfect overlap factors in the sense of (H.1). For example, a rectangular window can hop by , where is any positive integer, and a Hanning or Hamming window can use any hop size of the form . For the Kaiser window, in contrast, there is no perfect hop size other than .
The COLA criterion for windows and their hop sizes is not the best perspective to take when overlap-add synthesis is being constructed from the modified spectra . As discussed in Chapter 9, the hop size is the decimation factor applied to each FFT filter-bank output, and the window is the envelope of each filter's impulse response. The decimation by causes aliasing, and the frame rate is equal to twice the ``folding frequency'' of this aliasing. Consequently, to minimize aliasing, the choice of hop size should be such that the folding frequency exceeds the ``cut-off frequency'' of the window. The cut-off frequency of a window can be defined as the frequency above which the window transform magnitude is less than or equal to the worst-case side-lobe level. For convenience, we typically use the frequency of the first zero-crossing beyond the main lobe as the definition of cut-off frequency. Following this rule yields overlap for the rectangular window, overlap for Hamming and Hanning windows, and (5/6) overlap for Blackman windows. The hop size usable with a Kaiser window is determined by its design parameters (principally, the desired time-bandwidth product of the window, or, the ``beta'' parameter) .
One may wonder what happens to aliasing in the perfect-reconstruction case in which (H.1) is satisfied. The answer is that aliasing does occur in the individual filter-bank outputs, but this aliasing is canceled in the reconstruction by overlap-add if there were no modifications to the STFT. For a general discussion of aliasing cancellation in decimated filter banks, see Chapter 11 (especially §11.4.5) and/or .
The FFT size is normally chosen to be the first power of two that is at least twice the window length , with the difference filled with zeros (``zero-padded''). The reason for increasing the FFT size and filling in with zeros is that zero-padding in the time domain corresponds to interpolation in the frequency domain, and interpolating the spectrum is useful in various ways. First, the problem of finding spectral peaks which are not exact bin frequencies is made easier when the spectrum is more densely sampled. Second, plots of the magnitude of the more smoothly sampled spectrum are less likely to confuse the untrained eye. (Only signals truly periodic in samples should not be zero-padded. They should also be windowed only by the Rectangular window.) Third, for overlap-add synthesis from spectral modifications, the zero-padding allows for multiplicative modification in the frequency domain (convolutional modification in the time domain) without time aliasing in the inverse FFT. The length of the allowed convolution in the time domain (the impulse response of the effective digital filter) equals the number of extra zeros (plus one) in the zero padding.
If is the number of samples in the main lobe when the zero-padding factor is 1 ( ), then a zero-padding factor of gives samples for the same main lobe (and same main-lobe bandwidth). The zero-padding (interpolation) factor should be large enough to enable accurate estimation of the true maximum of the main lobe after it has been frequency shifted by some arbitrary amount equal to the frequency of a sinusoidal component in the input signal. We have determined by computational search that, for a rectangularly windowed sinusoid (of any frequency), quadratic frequency interpolation (using the three highest bins) yields at least (of the distance from the sinc peak to the first zero-crossing) accuracy if the zero-padding factor is 5 or higher.
Figure H.1: Illustration of the first two steps of PARSHL. (a) Input data. (b) Windowed input data. (c) FFT buffer with the windowed input data. (d) Resulting magnitude spectrum.
As mentioned in the previous section, we facilitate phase detection by using a zero-phase window, i.e., the windowed data (using an odd length window) is centered about the time origin. A zero-centered, length data frame appears in the length FFT input buffer as shown in Fig.H.1c. The first samples of the windowed data, the ``negative-time'' portion, will be stored at the end of the buffer, from sample to , and the remaining samples, the zero- and ``positive-time'' portion, will be stored starting at the beginning of the buffer, from sample 0 to . Thus, all zero padding occurs in the middle of the FFT input buffer.
Due to the sampled nature of spectra obtained using the STFT, each peak (location and height) found by finding the maximum-magnitude frequency bin is only accurate to within half a bin. A bin represents a frequency interval of Hz, where is the FFT size. Zero-padding increases the number of FFT bins per Hz and thus increases the accuracy of the simple peak detection. However, to obtain frequency accuracy on the level of of the distance from a sinc maximum to its first zero crossing (in the case of a rectangular window), the zero-padding factor required is . (Note that with no zero padding, the STFT analysis parameters are typically arranged so that the distance from the sinc peak to its first zero-crossing is equal to the fundamental frequency of a harmonic sound. Under these conditions, of this interval is equal to the relative accuracy in the fundamental frequency measurement. Thus, this is a realistic specification in view of pitch discrimination accuracy.) Since we would nominally take two periods into the data frame (for a Rectangular window), a Hz sinusoid at a sampling rate of KHz would have a period of samples, so that the FFT size would have to exceed one million. A more efficient spectral interpolation scheme is to zero-pad only enough so that quadratic (or other simple) spectral interpolation, using only bins immediately surrounding the maximum-magnitude bin, suffices to refine the estimate to accuracy. PARSHL uses a parabolic interpolator which fits a parabola through the highest three samples of a peak to estimate the true peak location and height (cf. Fig.H.2).
Figure H.2: Parabolic interpolation of the highest three samples of a peak.
Figure H.3: Coordinate system for the parabolic interpolation.
We have seen that each sinusoid appears as a shifted window transform which is a sinc-like function. A robust method for estimating peak frequency with very high accuracy would be to fit a window transform to the sampled spectral peaks by cross-correlating the whole window transform with the entire spectrum and taking and interpolated peak location in the cross-correlation function as the frequency estimate. This method offers much greater immunity to noise and interference from other signal components.
We have found empirically that the frequencies tend to be about twice as accurate when dB magnitude is used rather than just linear magnitude. An interesting open question is what is the optimum nonlinear compression of the magnitude spectrum when quadratically interpolating it to estimate peak locations.
The magnitude spectrum is used to find , but can be computed separately for the real and imaginary parts of the complex spectrum to yield a complex-valued peak estimate (magnitude and phase).
Once an interpolated peak location has been found, the entire local maximum in the spectrum is removed. This allows the same algorithm to be used for the next peak. This peak detection and deletion process is continued until the maximum number of peaks specified by the user is found.
The peak detection process returns the prominent peaks in a given frame sorted by frequency. The next step is to assign some subset of these peaks to oscillator trajectories, which is done by the peak matching algorithm. If the number of spectral peaks were constant with slowly changing amplitudes and frequencies along the sound, this task would be straightforward. However, it is not always immediately obvious how to connect the spectral peaks of one frame with those of the next.
To describe the peak matching process, let's assume that the frequency tracks were initialized at frame and we are currently at frame . Suppose that at frame the frequency values for the tracks are , and that we want to match them to the peaks, with frequencies , of frame .
12pt (1) If a match is found inside the maximum change limit, the track is continued (unless there is a conflict to resolve, as described below).
12pt (2) If no match is made, it is assumed that the track with frequency must ``turn off'' entering frame , and is matched to itself with zero magnitude. Since oscillator amplitudes are linearly ramped from one the frame to the next, the terminating track will ramp to zero over the duration of one frame hop. This track will still exist (at zero amplitude), and if it ever finds a frame with a spectral peak within its capture range , it will ``turned back on,'' ramping its amplitude up to the newly detected value. It is sometimes necessary to introduce some hysteresis into the turning on and off process in order to prevent ``burbling'' of the tracks whose peaks sometimes make the cut and sometimes don't. Normally this problem can be avoided by searching for many more spectral peaks than there are oscillators to allocate.
12pt (3) If a track finds a match which has already been claimed by another track, we give the peak to the track which is closest in frequency, and the ``losing'' track looks for another match. If the current track loses the conflict, it simply picks the best available non-conflicting peak. If the current track wins the conflict, it calls the assignment procedure recursively on behalf of the dislodged track. When the dislodged track finds the same peak and wants to claim it, it will see there is a conflict which it loses and will move on. This process is repeated for each track, solving conflicts recursively, until all existing tracks are matched or ``turned-off''.
After each track has extended itself forward in time or turned off, the peaks of frame which have not been used are considered to be new trajectories and a new track is ``started-up'' for each one of them up to the maximum number of oscillators specified (which again should be less than the number of spectral peaks detected). The new oscillator tracks are started at frame with zero magnitude and ramp to the correct amplitude at the current frame .
Once the program has finished, the peak trajectories for a sound look as in Fig.H.4.
Figure H.4: Peak trajectories for a piano tone.
The possibilities that STFT techniques offer for modifying the analysis results before resynthesis have an enormous number of musical applications. Quatieri and McAulay  give a good discussion of some useful modifications for speech applications. By scaling and/or resampling the amplitude and the frequency trajectories, a host of sound transformations can be accomplished.
Time-scale modifications can be accomplished by resampling the amplitude, frequency, and phase trajectories. This can be done simply by changing the hop size in the resynthesis (although for best results the hop size should change adaptively, avoiding time-scale modifications during voice consonants or attacks, for example). This has the effect of slowing down or speeding up the sound while maintaining pitch and formant structure. Obviously this can also be done for a time-varying modification by having a time-varying hop size . However, due to the sinusoidal representation, when a considerable time stretch is done in a ``noisy'' part of a sound, the individual sinewaves start to be heard and the noise-like quality is lost.
Frequency transformations, with or without time scaling, are also possible. A simple one is to scale the frequencies to alter pitch and formant structure together. A more powerful class of spectral modifications comes about by decoupling the sinusoidal frequencies (which convey pitch and inharmonicity information) from the spectral envelope (which conveys formant structure so important to speech perception and timbre). By measuring the formant envelope of a harmonic spectrum (e.g., by drawing straight lines or splines across the tops of the sinusoidal peaks in the spectrum and then smoothing), modifications can be introduced which only alter the pitch or only alter the formants. Other ways to measure formant envelopes include cepstral smoothing  and the fitting of low-order LPC models to the inverse FFT of the squared magnitude of the spectrum . By modulating the flattened (by dividing out the formant envelope) spectrum of one sound by the formant-envelope of a second sound, ``cross-synthesis'' is obtained. Much more complex modifications are possible.
The analysis portion of PARSHL returns a set of amplitudes , frequencies , and phases , for each frame index , with a ``triad'' ( ) for each track . From this analysis data the program has the option of generating a synthetic sound.
where is the number of tracks present at frame ; ; and is the length of the synthesis buffer (without any time scaling , the analysis hop size). To avoid ``clicks'' at the frame boundaries, the parameters ( ) are smoothly interpolated from frame to frame.
The parameter interpolation across time used in PARSHL is the same as that used by McAulay and Quatieri . Let ( ) and ( ) denote the sets of parameters at frames and for the th frequency track. They are taken to represent the state of the signal at time 0 (the left endpoint) of the frame.
where is the time sample into the th frame.
which smoothly goes from frame to frame and where each sinusoid accounts for both the rapid phase changes (frequency) and the slowly varying phase changes.
Figure H.5 shows the result of the analysis/synthesis process using phase information and applied to a piano tone.
Figure H.5: (a) Original piano tone, (b) synthesis with phase information, (c) synthesis without phase information.
A traditional result of sound perception is that the ear is sensitive principally to the short-time spectral magnitude and not to the phase, provided phase continuity is maintained. Our experience has been that this may or may not be true depending on the application, and in §H.0.9 we will discuss it. Obviously if the phase information is discarded, the analysis, the modification, and the resynthesis processes are simplified enormously. Thus we will use the magnitude-only option of the program whenever the application allows it.
In the peak detection process we calculate the magnitude and phase of each peak by using the complex spectrum. Once we decide to discard the phase information there is no need for complex spectra and we simply can calculate the magnitude of the peak by doing the parabolic interpolation directly on the log magnitude spectrum.
The synthesis also becomes easier; there is no need for a cubic function to interpolate the instantaneous phase. The phase will be a function of the instantaneous frequency and the only condition is phase continuity at the frame boundaries. Therefore, the frequency can be linearly interpolated from frame to frame, like the amplitude. Without phase matching the synthesized waveform will look very different from the original (Fig.H.5), but the sound quality for many applications will be perceptually the same.
The task of the program can be simplified and the analysis/synthesis results improved if the sound input is appropriately manipulated before running the program.
Most important is to equalize the input signal. This controls what it means to find spectral peaks in order of decreasing magnitude. Equalization can be accomplished in many ways and here we present some alternatives.
12pt (1) A good equalization strategy for audio applications is to weight the incoming spectrum by the inverse of the equal-loudness contour for hearing at some nominal listening level (e.g., dB). This makes spectral magnitude ordering closer to perceptual audibility ordering.
12pt (2) For more analytical work, the spectrum can be equalized to provide all partials at nearly the same amplitude (e.g., the asymptotic roll-off of all natural spectra can be eliminated). In this case, the peak finder is most likely to find and track all of the partials.
12pt (3) A good equalization for noise-reduction applications is to ``flatten'' the noise floor. This option is useful when it is desired to set a fixed (frequency-independent) track rejection threshold just above the noise level.
12pt (4) A fourth option is to perform adaptive equalization of types (2) or (3) above. That is, equalize each spectrum independently, or compute the equalization as a function of a weighted average of the most recent power spectrum (FFT squared magnitude) estimates.
Apart from equalization, another preprocessing strategy which has proven very useful is to reverse the sound in time. The attack of most sounds is quite ``noisy'' and PARSHL has a hard time finding the relevant partials in such a complex spectrum. Once the sound is reversed the program will encounter the end of the sound first, and since in most instrumental sounds this is a very stable part, the program will find a very clear definition of the partials. When the program gets to the sound attack, it will already be tracking the main partials. Since PARSHL has a fixed number of oscillators which can be allocated to discovered tracks, and since each track which disappears removes its associated oscillator from the scene forever,H.3 analyzing the sound tail to head tends to allocate the oscillators to the most important frequency tracks first.
The simplest application of PARSHL is as an analysis tool since we can get a very good picture of the evolution of the sound in time by looking at the amplitude, frequency and phase trajectories. The tracking characteristics of the technique yield more accurate amplitudes and frequencies than if the analysis were done with an equally spaced bank of filters (the traditional STFT implementation).
In speech applications, the most common use of the STFT is for data-reduction. With a set of amplitude, frequency and phase functions we can get a very accurate resynthesis of many sounds with much less information than for the original sampled sounds. From our work it is still not clear how important is the phase information in the case of resynthesis without modifications, but McAulay and Quatieri  have shown the importance of phase in the case of speech resynthesis.
Some of the most interesting musical applications of the STFT techniques are given by their ability to separate temporal from spectral information, and, within each spectrum, pitch and harmonicity from formant information. In §H.0.5, Parameter Modifications, we discussed some of them, such as time scaling and pitch transposition. But this group of applications has a lot of possibilities that still need to be carefully explored. From the few experiments we have done to date, the tools presented give good results in situations where less flexible implementations do not, namely, when the input sound has inharmonic spectra and/or rapid frequency changes.
The main characteristic that differentiates this model from the traditional ones is the selectivity of spectral information and the phase tracking. This opens up new applications that are worth our attention. One of them is the use of additive synthesis in conjunction with other synthesis techniques. Since the program allows tracking of specific spectral components of a sound, we have the flexibility of synthesizing only part of a sound with additive, synthesis, leaving the rest for some other technique. For example, Serra  has used this program in conjunction with LPC techniques to model bar percussion instruments, and Marks and Polito  have modeled piano tones by using it in conjunction with FM synthesis . David Jaffe has had good success with birdsong, and Rachel Boughton used PARSHL to create abstractions of ocean sounds.
One of the problems encountered when using several techniques to synthesize the same sound is the difficulty of creating the perceptual fusion of the two synthesis components. By using phase information we have the possibility of matching the phases of the additive synthesis part to the rest of the sound (independently of what technique was used to generate it). This provides improved signal ``splicing'' capability, allowing very fast cross-fades (e.g., over one frame period).
PARSHL was originally written to properly analyze the steady state of piano sounds; it did not address modeling the attack of the piano sound for purposes of resynthesis. The phase tracking was primarily motivated by the idea of splicing the real attack (sampled waveform) to its synthesized steady state. It is well known that additive synthesis techniques have a very hard time synthesizing attacks, both due to their fast transition and their ``noisy'' characteristics. The problem is made more difficult by the fact that we are very sensitive to the quality of a sound's attack. For plucked or struck strings, if we are able to splice two or three periods, or a few milliseconds, of the original sound into our synthesized version the quality can improve considerably, retaining a large data-reduction factor and the possibility of manipulating the synthesis part. When this is attempted without the phase information, the splice, even if we do a smooth cross-fade over a number of samples, can be very noticeable. By simply adding the phase data the task becomes comparatively easy, and the splice is much closer to inaudible.
In this appendix, an analysis/synthesis technique based on a sinusoidal representation was presented that has proven to be very appropriate for signals which are well characterized as a sum of inharmonic sinusoids with slowly varying amplitudes and frequencies. The previously used harmonic vocoder techniques have been relatively unwieldy in the inharmonic case, and less robust even in the harmonic case. PARSHL obtains the sinusoidal representation of the input sound by tracking the amplitude, frequency, and phase of the most prominent peaks in a series of spectra computed using a Cooley-Tukey Fast Fourier Transform (FFT) of successive, overlapping, windowed data frames, taken over the duration of a sound. We have mentioned some of the musical applications of this sinusoidal representation.
Continuing the work with this analysis/synthesis technique we are implementing PARSHL on a Lisp Machine with an attached FPS AP120B array processor. We plan to study further its sound transformation possibilities and the use of PARSHL in conjunction with other analysis/synthesis techniques such as Linear Predictive Coding (LPC) .
The basic ``FFT processor'' at the heart of PARSHL provides a ready point of departure for many other STFT applications such as FIR filtering, speech coding, noise reduction, adaptive equalization, cross-synthesis, and many more. The basic parameter trade-offs discussed in this appendix are universal across all of these applications.
Although PARSHL was designed to analyze piano recordings, it has proven very successful in extracting additive synthesis parameters for radically inharmonic sounds. It provides interesting effects when made to extract peak trajectories in signals which are not describable as sums of sinusoids (such as noise or ocean recordings). PARSHL has even demonstrated that speech can be intelligible after reducing it to only the three strongest sinusoidal components.
The surprising success of additive synthesis from spectral peaks suggests a close connection with audio perception. Perhaps timbre perception is based on data reduction in the brain similar to that carried out by PARSHL. This data reduction goes beyond what is provided by critical-band masking. Perhaps a higher-level theory of ``timbral masking'' or ``main feature dominance'' is appropriate, wherein the principal spectral features serve to define the timbre, masking lower-level (though unmasked) structure. The lower-level features would have to be restricted to qualitatively similar behavior in order that they be ``implied'' by the louder features. Another point of view is that the spectral peaks are analogous to the outlines of figures in a picture--they capture enough of the perceptual cues to trigger the proper percept; memory itself may then serve to fill in the implied spectral features (at least for a time).
Techniques such as PARSHL provide a powerful analysis tool toward extracting signal parameters matched to the characteristics of hearing. Such an approach is perhaps the best single way to obtain cost-effective, analysis-based synthesis of any sound.
The authors of  thank Dynacord, Inc., for supporting the development of the first version of PARSHL in the summer of 1985. We also wish to acknowledge the valuable contributions of Gerold Schrutz (of Dynacord) during that time.
The software listing below is in the SAIL programming language (generally a superset of ALGOL). Since procedures are defined before they are used, the listing starts out defining basic utilities, progressing to higher levels until finally the top level is reached. As a result, it is usually easier start read the top level procedure at the end first, and then work backwards to fill in the details.
The SAIL keyboard had various non-standard characters which are spelled out here using TeX equivalents such as α#alpha; and β#beta;.
IF ln>1 THEN RootName  <-  Gname[1 to 6-lc-1]&CodeString&"2"
[n>\alpha-T - FFT length (must be a power of 2).
[n>\alpha-D - Number of samples of input signal per FFT frame.
[n>\alpha-H - Number of samples of input signal to advance between FFT's.
[n>\alpha-L - Length of filter impulse response (if known).
[s>\alpha-I - Input sound file.
[s>\alpha-O - Output sound file.
[s>\alpha-F - Input filter file.
ALT - Exit to Outer level.
[n]\alpha-B - Buffer display code. If negative, all time buffers are displayed.
and return the X-value where the extremum is attained.
of zero slope in the parabola through the three points.
is clipped to lie at either 1 or -1 as appropriate.
Hyst = Wiggles less than Hyst in magnitude are ignored.
MinWidth = Minimum peak width in indices, after blanking.
Narrower peaks are removed and ignored.
BlankWidth = Minimum blanking interval in indeces.
for efficiency reasons (would rather measure width first).
i1,i2 = index boundaries for the search within X.
The return value is the number of peaks actually found.
COMMENT Find amplitudes (dB) and frequencies (Hz) of all partials in XmagDB.
Npartials = the maximum number of partials to find.
It is set to the actual number of partials found on return.
MinWid = minimum acceptable peak width in FFT bins.
Fc1,Fc2 = lower and upper frequency bounds in Hz.
No partials will be allowed outside this interval.
COMMENT Return next active oscillator after CurOsc, with wrap-around.
COMMENT Return next free oscillator after CurOsc, with wrap-around.
COMMENT Return next Ending oscillator after CurOsc, with wrap-around.
COMMENT Return free oscillator with frequency closest to NewFrq.
# Search for a line within specs, starting from where last one was.
then running because LinOfOsc[CurOsc] will then be positive.
COMMENT UpdateMap - Assign oscillators target values to partials.
the problem of partials appearing and disappearing.
This version of UpdateMap assumes lines to be sorted by ascending frequency.
Initialization is trivial, so assume we are into the analysis at time Frame.
its line among those not already taken.
assigned oscs than than lines because of the "taken" mark interlock.
However, there can be lines left over after all bands have been searched.
array, and an oscillator is dispatched onto each line found not to be taken.
An oscillator marks a line as taken by storing its id in an array.
can be given the line. In the current implementation, only a warning is issued.
to 0. A hop is typically on the order of two periods of sound.
unintelligible. Thus, UpDateMap is based on these changes.
DAJ mentions what if a line is crossing back and forth between two bands?
captures the other lines osc.
OSC 1 claims LINE K+1 instead of LINE K which it normally claims.
the bumped osc should get another pass to look for a "consolation line".
one oscillator turns off and another will hopefully start up elsewhere.
spectrum is searched for a local max nearest the current osc frq.
a "virtual line" with its own AMP and FRQ.
over the first active oscillators in the loop to MaxOscs below.
J. Abel, ``private communication,'' 2006.
E. Aboutanios and B. Mulgrew, ``Iterative frequency estimation by interpolation on fourier coefficients,'' IEEE Transactions on Signal Processing, vol. 53, pp. 1237-1242, Apr. 2005.
PhD thesis, University of Minnesota, Mar. 1996.
J. B. Allen, ``Short term spectral analysis, synthesis, and modification by discrete Fourier transform,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-25, pp. 235-238, June 1977.
J. B. Allen, ``Application of the short-time Fourier transform to speech processing and spectral analysis,'' Proc. IEEE ICASSP-82, pp. 1012-1015, 1982.
J. B. Allen and L. R. Rabiner, ``A unified approach to short-time Fourier analysis and synthesis,'' Proc. IEEE, vol. 65, pp. 1558-1564, Nov. 1977.
B. S. Atal and L. S. Hanauer, ``Speech analysis and synthesis by linear prediction of the speech wave,'' Journal of the Acoustical Society of America, vol. 50, pp. 637-655, 1971.
F. Auger and P. Flandrin, ``Improving the readibility of time-frequency and time-scale representations by the reassignment method,'' IEEE Transactions on Signal Processing, vol. 43, pp. 1068-1089, May 1995.
L. C. Barbosa, ``A maximum-energy-concentration spectral window,'' IBM Journal of Research and Development, vol. 30, pp. 321-325, May 1986.
Boston: Kluwer Academic Publishers, 2003.
36 pages. See also ISO/IEC International Standard IS 13818-7 entitled ``MPEG-2 Advanced Audio Coding,'' April, 1997.
Music 420 Project Report, https://ccrma.stanford.edu/~jos/bosse/.
San Francisco: Holden Day, 1976.
K. Brandenburg, ``Perceptual coding of high quality digital audio,'' in Applications of DSP to Audio & Acoustics (M. Kahrs and K. Brandenburg, eds.), pp. 39-83, Boston/Dordrecht/London: Kluwer Academic Publishers, 1998.
K. Brandenburg and M. Bosi, ``Overview of MPEG audio: Current and future standards for low-bit-rate audio coding,'' Journal of the Audio Engineering Society, vol. 45, pp. 4-21, Jan./Feb. 1997.
Cambridge, MA: MIT Press, 1990.
R. Bristow-Johnson, ``Tutorial on floating-point versus fixed-point,'' Audio Engineering Society Convention, Oct. 2008.
J. C. Brown, ``Calculation of a constant Q spectral transform,'' Journal of the Acoustical Society of America, vol. 89, no. 1, pp. 425-434, 1991.
J. C. Brown and M. S. Puckette, ``An efficient algorithm for the calculation of a constant Q transform,'' Journal of the Acoustical Society of America, vol. 92, no. 5, pp. 2698-2701, 1992.
T. Brown and M. M. Wang, ``An iterative algorithm for single-frequency estimation,'' IEEE Transactions on Signal Processing, vol. 50, no. 11, pp. 2671-2682, 1993.
R. J. Cassidy and J. O. Smith III, ``Efficient time-varying loudness estimation via the hopping Goertzel DFT,'' in Proceedings of the IEEE International Midwest Symposium on Circuits and Systems (MWSCAS-2007), Aug. 2007.
C. Chafe, D. Jaffe, K. Kashima, B. Mont-Reynaud, and J. O. Smith, ``Techniques for note identification in polyphonic music,'' in Proceedings of the 1985 International Computer Music Conference, Vancouver, Computer Music Association, searchable at http://quod.lib.umich.edu/i/icmc/, 1985.
New Jersey: Hayden Book Co., Inc., 1980.
New York: IEEE Press, 1978.
J. M. Chowning, ``Frequency modulation synthesis of the singing voice,'' in Current Directions in Computer Music Research (M. V. Mathews and J. R. Pierce, eds.), pp. 57-63, Cambridge, MA: MIT Press, 1989.
J. M. Chowning, ``private communication,'' 2006.
Englewood Cliffs, NJ: Prentice-Hall, 1995.
B. Conolly and I. J. Good, ``A table of discrete Fourier transform pairs,'' SIAM J. Applied Math, vol. 32, no. 4, pp. 810-822, 1977.
A. K. Peters, L.T.D., 2002.
New York: John Wiley and Sons, Inc., 1991.
R. Crochiere, ``A weighted overlap-add method of short-time Fourier analysis/synthesis,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-28, pp. 99-102, Feb 1980.
Englewood Cliffs, NJ: Prentice-Hall, 1983.
A. Croisiere, D. Esteban, and C. Galand, ``Perfect channel splitting by use of interpolation/decimation/tree decomposition techniques,'' in Proc. Int. Symp. Info., Circuits and Systems, Patras, Greece, 1976.
O. Darrigol, ``The acoustic origins of harmonic analysis,'' Archive for History of the Exact Sciences, vol. 61, July 2007.
G. Davidson, L. Fielder, and M. Antill, ``Low-complexity transform coder for satellite link applications,'' Audio Engineering Society Convention, vol. Preprint 2966, no. Session-Paper no. F-I-6, pp. 1-22, 1990.
A. de Cheveigne and H. Kawahara, ``YIN, a fundamental frequency estimator for speech and music,'' Journal of the Acoustical Society of America, vol. 111, no. 4, pp. 1917-1930, 2002.
New York: John Wiley and Sons, Inc., Mar. 2001.
P. Depalle and T. Hélie, ``Extraction of spectral peak parameters using a short-time Fourier-transform modeling and no-sidelobe windows,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), IEEE Press, Oct. 1997.
New York: Oxford University Press, 1958-2001.
New York: Wadsworth Publication Co., 1997.
C. L. Dolph, ``A current distribution for broadside arrays which optimizes the relationship between beam width and side-lobe level,'' Proceedings of the IRE, vol. 34, pp. 335-348, 1946.
S. Dostrovsky, ``Early vibration theory: Physics and music in the seventeenth century,'' Archive for History of the Exact Sciences, vol. 14, no. 3, 1975.
B. Doval and X. Rodet, ``Estimation of fundamental frequency of musical sound signals,'' in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Toronto, (New York), pp. 3657-3660, vol. 5, IEEE Press, April 14-17, 1991.
B. Doval and X. Rodet, ``Fundamental frequency estimation using a new harmonic matching method,'' in Proceedings of the 1991 International Computer Music Conference, Montréal, pp. 555-558, Computer Music Association, searchable at http://quod.lib.umich.edu/i/icmc/, 1991.
Reprinted in [243, pp. 347-351].
B. Eaglestone and S. Oates, ``Analytical tools for group additive synthesis,'' in Proceedings of the 1990 International Computer Music Conference, Glasgow, Computer Music Association, searchable at http://quod.lib.umich.edu/i/icmc/, 1990.
J. A. Fessler and B. P. Sutton, ``Nonuniform fast Fourier transforms using min-max interpolation,'' IEEE Transactions on Signal Processing, vol. 51, pp. 560-574, Feb. 2003.
K. Fitz and L. Haken, ``On the use of time-frequency reassignment in additive sound modeling,'' Journal of the Audio Engineering Society, vol. 50, pp. 879-893, Nov. 2002.
New York: Springer Verlag, 1972.
Reprinted in [243, pp. 4-16].
Reprinted in [243, pp. 388-404].
New York: Springer Verlag, 1998.
PhD thesis, Technischen Universität Ilmeneau, Nov. 2011.
New York: John Wiley and Sons, Inc., 1971.
S. A. Fulop and K. Fitz, ``A spectrogram for the twenty-first century,'' Acoustics Today, pp. 26-33, July 2006.
T. J. Gardner and M. O. Magnesco, ``Sparse time-frequency representations,'' Proc. National Academy of Sciences of the United States of America, vol. 103, April 2006.
E. B. George and M. J. T. Smith, ``A new speech coding model based on least-squares sinusoidal representation,'' Proc. IEEE ICASSP-87, vol. 3, pp. 1641-1644, 1987.
E. B. George and M. J. T. Smith, ``Analysis-by-synthesis/Overlap-add sinusoidal modeling applied to the analysis and synthesis of musical tones,'' Journal of the Audio Engineering Society, vol. 40, no. 6, pp. 497-516, 1992.
Report no. 31/80, abstract and ordering information on-line at http://mediatheque.ircam.fr/articles/index-e.html.
New York: Academic Press, 1981.
B. R. Glasberg and B. C. J. Moore, ``Derivation of auditory filter shapes from notched-noise data,'' Hearing Research, vol. 47, pp. 103-138, 1990.
B. R. Glasberg and B. C. J. Moore, ``A model of loudness applicable to time-varying sounds,'' Journal of the Audio Engineering Society, vol. 50, pp. 331-342, May 2002.
Baltimore: The Johns Hopkins University Press, 1996.
M. Goodwin and A. Kogon, ``Overlap-add synthesis of nonstationary sinusoids,'' in International Computer Music Conference, 1995.
D. D. Greenwood, ``A cochlear frequency-position function for several species--29 years later,'' Journal of the Acoustical Society of America, vol. 87, pp. 2592-605, June 1990.
available as CCRMA Technical Report STAN-M-2, Music Dept., Stanford University.
D. W. Griffin and J. S. Lim, ``Signal estimation from modified short-time Fourier transform,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-32, pp. 236-243, Apr 1984.
D. W. Griffin and J. S. Lim, ``Multiband-excitation vocoder,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-36, pp. 236-243, Feb 1988.
F. J. Harris, ``On the use of windows for harmonic analysis with the discrete Fourier transform,'' Proceedings of the IEEE, vol. 66, pp. 51-83, Jan 1978.
647 pp., 221 illustrations, hardcover.
M. H. Hayes, J. S. Lim, and A. V. Oppenheim, ``Signal reconstruction from phase or magnitude,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-28, pp. 672-680, Dec 1980.
H. D. Helms, ``Digital filters with equiripple or minimax responses,'' IEEE Transactions on Audio and Electroacoustics, vol. 19, pp. 87-94, Mar. 1971.
A. Horner, J. Beauchamp, and L. Haken, ``Methods for multiple wavetable synthesis of musical instrument tones,'' Journal of the Audio Engineering Society, vol. 41, pp. 336-356, May 1993.
Ithaca, New York: Electronotes, 1975.
T. Irino and H. Kawahara, ``Signal reconstruction from modified auditory wavelet transform,'' IEEE Transactions on Signal Processing, vol. 41, no. 12, pp. 3549-3554, 1993.
T. Irino and R. D. Patterson, ``A time-domain, level-dependent auditory filter: The gammachirp,'' Journal of the Acoustical Society of America, vol. 101, pp. 412-419, 1997.
T. Irino and M. Unoki, ``A time-varying analysis/synthesis auditory filterbank using the gammachirp,'' in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Seattle, (New York), IEEE Press, 1998.
Motion Picture Experts Group, 1993.
Reprinted in , pp. 123-126.
L. J. Karam and J. H. McClellan, ``Complex Chebyshev approximation for FIR filter design,'' IEEE Transactions on Circuits and Systems--II: Analog and Digital Signal Processing, vol. 42, no. 3, pp. 207-216, 1995.
M. Karjalainen, ``A new auditory model for the evaluation of sound quality of audio systems,'' in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Tampa, Florida, (New York), pp. 608-611, IEEE Press, 1985.
M. Karjalainen and J. O. Smith, ``Body modeling techniques for string instrument synthesis,'' in Proceedings of the 1996 International Computer Music Conference, Hong Kong, pp. 232-239, Computer Music Association, searchable at http://quod.lib.umich.edu/i/icmc/, Aug. 1996.
Englewood Cliffs, NJ: Prentice-Hall, 1988.
S. Kay, ``A fast and accurate single frequency estimator,'' IEEE Trans. Acoustics, Speech, and Signal Processing, vol. 37, pp. 1987-1990, Dec. 1989.
Y. Kim and J. O. Smith, ``A speech feature based on bark frequency warping - the non-uniform linear prediction (nlp) cepstrum,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), IEEE Press, Oct. 1999.
A. Klapuri, ``Multipitch estimation and sound separation by the spectral smoothness principle,'' in IEEE International Conference on Acoustics, Speech, and Signal Processing, (Salt Lake City, Utah, USA), May 2001.
A. Klapuri, ``Multiple fundamental frequency estimation by harmonicity and spectral smoothness,'' IEEE Transactions on Speech and Audio Processing, vol. 11, no. 6, pp. 804-816, 2003.
D. Klatt, ``Review of text-to-speech conversion for english,'' Journal of the Acoustical Society of America, vol. 82, pp. 737-793, Sept. 1987.
P. Kleczkowski, ``Group additive synthesis,'' Computer Music Journal, vol. 13, no. 1, pp. 12-20, 1989.
W. Koenig, H. K. Dunn, and L. Y. Lacy, ``The sound spectrograph,'' Journal of the Acoustical Society of America, vol. 18, no. 1, pp. 19-49, 1946.
M. Z. Komodromos, S. F. Russel, and P. T. P. Tang, ``Design of FIR Hilbert transformers and differentiators in the complex domain,'' IEEE Transactions on Circuits and Systems--II: Analog and Digital Signal Processing, vol. 45, pp. 64-67, Jan 1998.
P. J. Kootsookos and R. C. Williamson, ``FIR approximation of fractional sample delay systems,'' IEEE Transactions on Circuits and Systems--II: Analog and Digital Signal Processing, vol. 43, pp. 40-48, Feb 1996.
T. I. Laakso, V. Välimäki, M. Karjalainen, and U. K. Laine, ``Splitting the Unit Delay--Tools for Fractional Delay Filter Design,'' IEEE Signal Processing Magazine, vol. 13, pp. 30-60, Jan. 1996.
H. Landau and H. Pollak, ``Prolate-spheroidal wave functions, Fourier analysis and uncertainty--ii,'' Bell System Technical Journal, vol. 40, pp. 65-84, Jan. 1961.
J. Laroche, ``The use of the matrix pencil method for the spectrum analysis of musical signals,'' Journal of the Acoustical Society of America, vol. 94, pp. 1958-1965, Oct. 1993.
J. Laroche, ``Time and pitch scale modification of audio signals,'' in Applications of DSP to Audio & Acoustics (M. Kahrs and K. Brandenburg, eds.), pp. 279-309, Boston/Dordrecht/London: Kluwer Academic Publishers, 1998.
J. Laroche, ``Synthesis of sinusoids via non-overlapping inverse fourier transform,'' IEEE Transactions on Speech and Audio Processing, vol. 8, pp. 471-477, July 2000.
J. Laroche and M. Dolson, ``About this phasiness business,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), IEEE Press, Oct. 1997.
J. Laroche and M. Dolson, ``Improved phase vocoder time-scale modification of audio,'' IEEE Transactions on Speech and Audio Processing, vol. 7, no. 3, pp. 323-32, 1999.
J. Laroche and M. Dolson, ``New phase-vocoder techniques for pitch-shifting, harmonizing, and other exotic effects,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), pp. 91-94, IEEE Press, Oct. 17-20, 1999.
J. Laroche and M. Dolson, ``New phase-vocoder techniques for real-time pitch shifting, chorusing, harmonizing, and other exotic audio modifications,'' Journal of the Audio Engineering Society, vol. 47, pp. 928-936, Nov. 1999.
S. N. Levine and J. O. Smith, ``Improvements to the switched parametric and transform audio coder,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), IEEE Press, Oct. 1999.
S. N. Levine and J. O. Smith, ``A compact and malleable sines+transients+noise model for sound,'' in Analysis, Synthesis, and Perception of Musical Sounds: The Sound of Music (J. Beauchamp, ed.), Berlin: Springer-Verlag, 2006.
special issue on Linear Algebra in Control, Signals and Image Processing. http://www.stanford.edu/~boyd/socp.html.
P. Lynch, ``The Dolph-Chebyshev window: A simple optimal filter,'' America Meteorological Society Journal of the Online, vol. 125, pp. 655-660, Apr. 1997.
Upper Saddle River, NJ: Prentice Hall PTR, 2001.
D. Malah and J. L. Flanagan, ``Frequency scaling of speech signals by transform techniques,'' Bell System Technical Journal, vol. 60, pp. 2107-2156, Nov 1981.
H. S. Malvar, ``Lapped transforms for efficient transform/subband coding,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. 38, pp. 969-978, June 1990.
H. S. Malvar and D. H. Staelin, ``The lot: Transform coding without blocking effects,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. 37, pp. 553-559, Apr 1989.
J. Marks and J. Polito, ``Modeling piano tones,'' in Proceedings of the 1986 International Computer Music Conference, The Hague, Computer Music Association, searchable at http://quod.lib.umich.edu/i/icmc/, 1986.
J. S. Marques and L. B. Almeida, ``Frequency-varying sinusoidal modeling of speech,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. 37, pp. 763-765, May 1989.
D. C. Massie, ``Wavetable sampling synthesis,'' in Applications of DSP to Audio & Acoustics (M. Kahrs and K. Brandenburg, eds.), pp. 311-341, Boston/Dordrecht/London: Kluwer Academic Publishers, 1998.
M. V. Mathews, ``The digital computer as a musical instrument,'' Science, vol. 142, no. 11, pp. 553-557, 1963.
R. J. McAulay and T. F. Quatieri, ``Speech analysis-synthesis based on a sinusoidal representation,'' Tech. Rep. 693, Lincoln Laboratory, MIT, 1985.
R. J. McAulay and T. F. Quatieri, ``Phase coherence in speech reconstruction for enhancement and coding applications,'' Proc. IEEE ICASSP-89, vol. 1, pp. 207-210, 1989.
R. J. McAulay and T. F. Quatieri, ``Pitch estimation and voicing detection based on a sinusoidal speech model,'' Proc. IEEE ICASSP-90, vol. 1, pp. 249-252, 1990.
R. J. McAulay and T. F. Quatieri, ``Sine-wave phase coding at low data rates,'' Proc. IEEE ICASSP-91, vol. 1, pp. 577-580, 1991.
R. J. McAulay and T. F. Quatieri, ``Mid-rate coding based on a sinusoidal representation of speech,'' Proc. IEEE ICASSP-85, vol. 3, pp. 945-948, 1985.
R. J. McAulay and T. F. Quatieri, ``Speech analysis/synthesis based on a sinusoidal representation,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-34, pp. 744-754, Aug 1986.
program also contained in .
B. C. J. Moore and B. R. Glasberg, ``A revision of Zwicker's loudness model,'' Acta Acustica, vol. 82, pp. 335-345, 1996.
B. C. J. Moore, ``Distribution of auditory-filter bandwidths at 2 kHz in young normal listeners,'' Journal of the Acoustical Society of America, vol. 81, pp. 1633-1635, May 1987.
B. C. J. Moore and B. R. Glasberg, ``Suggested formulae for calculating auditory-filter bandwidths and excitation patterns,'' Journal of the Acoustical Society of America, vol. 74, pp. 750-753, Sept. 1983.
B. C. J. Moore, R. W. Peters, and B. R. Glasberg, ``Auditory filter shapes at low center frequencies,'' Journal of the Acoustical Society of America, vol. 88, pp. 132-140, July 1990.
B. C. J. Moore, B. R. Glasberg, and T. Baer, ``A model for the prediction of thresholds, loudness, and partial loudness,'' Journal of the Audio Engineering Society, vol. 45, pp. 224-249, Apr. 1997.
J. A. Moorer, ``The hetrodyne filter as a tool for analysis of transient waveforms,'' Tech. Rep. AIM-208, Stanford Artificial Intelligence Laboratory, Computer Schience Dept., Stanford University, July 1973.
J. A. Moorer, ``Signal processing aspects of computer music--a survey,'' Computer Music Journal, vol. 1, no. 1, pp. 4-37, 1977.
J. A. Moorer and M. Berger, ``Linear-phase bandsplitting: Theory and applications,'' Journal of the Audio Engineering Society, vol. 34, pp. 143-152, Mar. 1986.
M. Mueller, D. P. W. Ellis, A. Klapuri, and G. Richard, ``Signal processing for music analysis,'' IEEE Journal of Selected Topics in Signal Processing, vol. 5, no. 6, pp. 1088-1110, 2011.
W. A. Munson and H. C. Montgomery, ``A speech analyzer and synthesizer,'' Journal of the Acoustical Society of America, vol. 22, no. 5, pp. 678-678, 1950.
S. H. Nawab and T. F. Quatieri, ``Short-time Fourier transform,'' in Adanced topics in signal processing (J. S. Lim and A. V. Oppenheim, eds.), ch. 6, Prentice-Hall, 1988.
S. Nawab, T. Quatieri, and J. Lim, ``Signal reconstruction from short-time Fourier transform magnitude,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-31, pp. 986-998, Aug 1983.
A. Ng and A. Horner, ``Iterative combinatorial basis spectra in wavetable matching,'' Journal of the Audio Engineering Society, vol. 50, no. 12, pp. 1054-1063, 2002.
Nguyen, ``Near-perfect-reconstruction pseudo-qmf banks,'' IEEE Transactions on Signal Processing, vol. 43, pp. 65-76, Jan. 1994.
P. Noll, ``Digital audio coding for visual communications,'' Proc. IEEE, vol. 83, pp. 925-943, June 1995.
A. H. Nuttall, ``Some windows with very good sidelobe behavior,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-29, pp. 84-91, Feb 1981.
T. Painter and A. Spanias, ``Perceptual coding of digital audio,'' Proceedings of the IEEE, vol. 88, pp. 451-513, Apr. 2000.
R. D. Patterson, ``Auditory filter shapes derived with noise stimuli,'' Journal of the Acoustical Society of America, vol. 76, pp. 640-654, Mar. 1982.
R. D. Patterson and G. B. Henning, ``Stimulus variability and auditory filter shape,'' Journal of the Acoustical Society of America, vol. 62, pp. 649-663, Sept. 1977.
R. D. Patterson, I. Nimmo-Smith, D. L. Weber, and R. Milroy, ``The deterioration of hearing with age: Frequency selectivity, the critical ratio, the audiogram, and speech threshold,'' Journal of the Acoustical Society of America, vol. 72, pp. 1788-1803, Dec. 1982.
R. D. Patterson, M. Allerhand, and C. Giguere, ``Time-domain modelling of peripheral auditory processing: A modular architecture and software platform,'' Journal of the Acoustical Society of America, vol. 98, pp. 1890-1894, 1995.
See also the section entitled ``Peak Picking'' in [245, pp. 357].
New York: Academic Press, 1976.
M. R. Portnoff, ``Implementation of the digital phase vocoder using the fast Fourier transform,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-24, pp. 243-248, June 1976.
M. R. Portnoff, ``Time-frequency representation of digital signals and systems based on short-time Fourier analysis,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-28, pp. 55-69, Feb 1980.
J. P. Princen and A. B. Bradley, ``Analysis/synthesis filter bank design based on time domain aliasing cancellation,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. 34, pp. 1153-1161, Oct. 1986.
M. Puckette, ``Phase-locked vocoder,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), pp. Session 9a, Paper 3, IEEE Press, Oct. 18, 1995.
H. Purnhagen and N. Meine, ``Hiln--the MPEG-4 parametric audio coding tools,'' in IEEE Proc. ISCAS 2000, Geneva, vol. 3, pp. 201-204, May 2000.
T. Quatieri, S. H. Nawab, and J. S. Lim, ``Frequency sampling of the short-time Fourier-transform magnitude for signal reconstruction,'' Journal of the Optical Society of America, vol. 73, pp. 1523-1526, Nov 1983.
T. F. Quatieri and T. E. Hanna, ``Time-scale modification with inconsistent constraints,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), pp. Session 10, Paper 2, IEEE Press, Oct. 18, 1995.
T. F. Quatieri and R. J. McAulay, ``Magnitude-only reconstruction using a sinusoidal speech model,'' Proc. IEEE ICASSP-84, vol. 2, pp. 27.6.1-27.6.4, 1984.
T. F. Quatieri and R. J. McAulay, ``Speech transformations based on a sinusoidal representation,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-34, pp. 1449-1464, Dec 1986.
T. F. Quatieri and R. J. McAulay, ``Audio signal processing based on sinusoidal analysis/synthesis,'' in Applications of DSP to Audio & Acoustics (M. Kahrs and K. Brandenburg, eds.), pp. 343-416, Boston/Dordrecht/London: Kluwer Academic Publishers, 1998.
New York: IEEE Press, 1972.
A. Reilly, G. Frazer, and B. Boashash, ``Analytic signal generation--tips and traps,'' IEEE Transactions on Signal Processing, vol. 42, Nov 1994.
D. C. Rife and R. R. Boorstyn, ``Single-tone parameter estimation from discrete-time observations,'' IEEE Transactions on Information Theory, vol. IT-20, pp. 591-598, Sep. 1974.
D. C. Rife and R. R. Boorstyn, ``Multiple tone parameter estimation from discrete-time observations,'' Bell System Technical Journal, vol. 55, pp. 1389-1410, Nov. 1976.
J.-C. Risset and M. V. Mathews, ``Analysis of musical-instrument tones,'' Physics Today, vol. 22, no. 2, pp. 23-30, 1969.
Cambridge, MA: MIT Press, 1996.
Netherlands: Swets and Zietlinger, 1997.
A. Röbel, ``A new approach to transient processing in the phase vocoder,'' in Proceedings of the Conference on Digital Audio Effects (DAFx-03), Queen Mary, University of London, 2003.
Introduces the SOLA (Synchronous OverLap-Add) technique for time scale modification.
L. Savioja, V. Välimäki, and J. O. Smith, ``Audio signal processing using graphics processing units,'' Journal of the Audio Engineering Society, vol. 59, pp. 3-19, Jan. 2011.
Reprinted in [243, pp. 352-366].
PhD thesis, Stanford University, 1989.
X. Serra, ``A computer model for bar percussion instruments,'' in Proceedings of the 1986 International Computer Music Conference, The Hague, pp. 257-262, Computer Music Association, searchable at http://quod.lib.umich.edu/i/icmc/, 1986.
X. Serra, ``Musical sound modeling with sinusoids plus noise,'' in Musical Signal Processing (C. Roads, S. Pope, A. Picialli, and G. De Poli, eds.), pp. 91-122, The Netherlands: Swets & Zeitlinger Publishers, June 1997.
Software and recent papers URL: //www.iua.upf.es/~xserra/.
X. Serra and J. O. Smith, ``Sound-sheet examples for a sound analysis/synthesis system based on a deterministic plus stochastic decomposition,'' Computer Music Journal, vol. 15, pp. 86-87, Spring 1991.
M. J. Shailer, B. C. J. Moore, B. R. Glasberg, and N. Watson, ``Auditory filter shapes at 8 and 10 kHz,'' Journal of the Acoustical Society of America, vol. 88, pp. 141-148, July 1990.
G. Shi, X. Xie, X. Chen, and W. Zhong, ``Recent advances and new design method in nonuniform filter banks,'' in Proceedings of the IEEE International Conference on Comm., Circ. & Sys., vol. 1, pp. 211-215, June 2006.
basis of firgr in the Matlab Filter Design Toolbox.
D. Slepian and H. Pollak, ``Prolate-spheroidal wave functions, Fourier analysis and uncertainty--i,'' Bell System Technical Journal, vol. 40, pp. 34-64, Jan. 1961.
A. Smirnov, ``Proto musique concrète--Russian futurism in the 10s and 20s, and early ideas of sonic art and the art of noises,'' in Inventionen 98: 50 Jahre Musique Concrète, Jagerstrasse 23, D-10117 Berlin: DAAD, 1998.
CCRMA Technical Report STAN-M-14, https://ccrma.stanford.edu/STANM/stanms/stanm14/.
special issue: Physical Modeling of Musical Instruments, Part I. https://ccrma.stanford.edu/~jos/pmudw/.
J. O. Smith, ``Audio FFT filter banks,'' in Proceedings of the 12th International Conference on Digital Audio Effects (DAFx-09), Como, Italy, September 1-4, Sept. 2009.
Session 8, paper 6, 4 pages. https://ccrma.stanford.edu/~jos/gz/bbtmh.tgz.
expanded tutorial and associated free software available at the Digital Audio Resampling Home Page: https://ccrma.stanford.edu/~jos/resample/.
Also available as Stanford Music Department Technical Report STAN-M-43. Expanded version available on-line at https://ccrma.stanford.edu/~jos/parshl/.
M. J. T. Smith and T. P. Barnwell, ``A unifying framework for analysis/synthesis systems based on maximally decimated filter banks,'' in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Tampa, Florida, (New York), pp. 521-524, IEEE Press, 1985.
New York: John Wiley and Sons, Inc., 2007.
T. Sporer and K. Brandenburg, ``Constraints of filter banks used for perceptual measurement,'' Journal of the Audio Engineering Society, vol. 43, pp. 107-116, Mar. 1995.
copy of original 1938 edition, http://asa.aip.org/publications.html.
T. G. Stockham, ``High speed convolution and correlation,'' Proceedings of the April 26-28 Joint Computer Conference (AFIPS-66, Spring), pp. 129-133, 1966.
H. W. Strube, ``Linear prediction on a warped frequency scale,'' Journal of the Acoustical Society of America, vol. 68, no. 4, pp. 1071-1076, 1980.
R. K. C. Tan and A. H. J. Lin, ``A time-scale modification algorithm based on the subband time-domain technique for broad-band signal applications,'' Journal of the Audio Engineering Society, vol. 46, pp. 437-449, May 2000.
Tech. staff, ``ADEC subroutine description,'' Tech. Rep. 13201, General Electric Co., Syracuse, NY, June 1977.
PhD thesis, Elec. Engineering Dept., Stanford University (CCRMA), September 2005.
J. M. Tribolet and R. E. Crochiere, ``Frequency-domain coding of speech,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-27, pp. 512-530, Oct. 1979.
C. Truesdell, ``The rational mechanics of flexible or elastic bodies, 1638Â­1788,'' in Leonardi Euleri Opera Omnia, Ser. 2, XI part 2, 1960.
M. Unser, ``Splines: A perfect fit for signal and image processing,'' IEEE Signal Processing Magazine, vol. 16, pp. 22-38, Nov. 1999.
Proceedings of the 103rd Convention of the Audio Engineering Society, New York, Sept. 1997.
PhD thesis, Elec. Engineering Dept., Stanford University (CCRMA), 2000.
Braunschweig: F. Vieweg und Sohn, 1863.
English translation of 1863 (German) edition.
R. F. Voss and J. Clarke, ```1/f noise' in music: Music from 1/f noise,'' Journal of the Acoustical Society of America, vol. 63, pp. 258-263, Jan. 1978.
A. Wang, ``Instantaneous and frequency-warped techniques for source separation and signal parametrization,'' in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, (New York), IEEE Press, Oct. 1995.
J. D. Wise, J. R. Caprio, and T. W. Parks, ``Maximum likelihood pitch estimation,'' IEEE Transactions on Acoustics, Speech, Signal Processing, vol. ASSP-24, pp. 418-423, Oct. 1976.
B. A. Wright, ``Auditory filter asymmetry at 2000 Hz in 80 normal-hearing ears,'' Journal of the Acoustical Society of America, vol. 100, pp. 1717-1721, Sept. 1996.
M. Wright and J. O. Smith, ``Open-source matlab tools for interpolation of SDIF sinusoidal synthesis,'' in Proceedings of the 2005 International Computer Music Conference, Sept., Barcelona, Spain, pp. 632-635, Sept. 5-9 2005.
M. M. J. Yekta, ``Equivalence of the Lagrange interpolator for uniformly sampled signals and the scaled binomially windowed shifted sinc function,'' Digital Signal Processing, vol. 19, pp. 838-842, Sept. 2009.
Z. Zijing and Y. Yun, ``A simple design method for nonuniform cosine modulated filter banks,'' in IEEE International Symposium on Microwave, Antenna, Prop., & EMC Tech. for Wireless Comm., pp. 1052-1055, 2007.
see also later 1999 edition.
second updated edition, 80pp., CD-ROM/softcover.
E. Zwicker and B. Scharf, ``A model of loudness summation,'' Psych. Rev., vol. 72, pp. 3-26, 1965.
E. Zwicker and E. Terhardt, ``Analytical expressions for critical band rate and critical bandwidth as a function of frequency,'' Journal of the Acoustical Society of America, vol. 68, pp. 1523-1525, 1980.

References: §11
 V. 
 V. 
 V. 
 V. 
 V. 
 V. 
 V.