Next |
Prev |
Top
|
JOS Index |
JOS Pubs |
JOS Home |
Search
Outline of the Program
PARSHL follows the amplitude, frequency, and phase3 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 uses the analysis parameters,
or their modification, to generate a sinewave for every peak track
found.
The steps carried out by PARSHL are as follows:
1. Compute the STFT
using the frame size, window type,
FFT size, and hop size specified by the user.
2. Compute the squared magnitude spectrum in dB
(
).
3. 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.
4. 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.
5. 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.
6. Arbitrary modifications can be applied to the analysis parameters
before resynthesis.
7. 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
.
8. Repeat from step 1, advancing
samples each iteration until the
end of the input sound is reached.
Next |
Prev |
Top
|
JOS Index |
JOS Pubs |
JOS Home |
Search
Download parshl.pdf