22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SOURCE-SIGNAL ANALYSIS 565<br />

overlapped sample data, it must not alter the data itself because some <strong>of</strong> it<br />

will be needed for overlapping purposes in the next spectral frame. Likewise,<br />

the FFT will destroy the sample data unless a copy is made and the copy<br />

transformed. For maximum efficiency, one can combine copying, windowing,<br />

and bit-reverse decimation into one program loop that takes little more<br />

time than windowing alone. If memory space is tight, the samples that ate<br />

not needed in the next frame may be destroyed.<br />

In summary, the procedute for converting a stting <strong>of</strong> samples into a<br />

string <strong>of</strong> spectra is as follows (512-point FFT and 2: 1 ovetlap):<br />

1. Discard 256 signal samples ftom' the right half <strong>of</strong> the analysis record.<br />

2. Copy (or equivalent) the remaining 256 samples ftom the left to the<br />

right half <strong>of</strong> the analysis record.<br />

3. Accept 256 new signal samples from the input string and put them in<br />

the left half <strong>of</strong> the analysis record.<br />

4. Make a copy <strong>of</strong> the analysis record.<br />

5. Apply the chosen window to the copy.<br />

6. Do a 512-point real FFT.<br />

7. The 256 sine and cosine components represent one spectral frame. They<br />

may be stored as is or processed further.<br />

8. Go to step 1 for the next spectral ftame.<br />

Note that twice as much output data is generated as input data if phase<br />

information is retained. This is a result <strong>of</strong> oversampling (overlapping), but as<br />

will be seen later such oversampling simplifies subsequent spectral processing.<br />

In fact, for analysis-resynthesis applications, it may be necessary to<br />

further oversample the sequence <strong>of</strong> spectra to obtain good resynthesis quality<br />

after modification.<br />

Spectral Processing<br />

In the previous section, two methods <strong>of</strong> obtaining the time-varying<br />

spectrum <strong>of</strong> a sound were presented. We can now assume that the spectrum<br />

is in the form <strong>of</strong> a sequence <strong>of</strong> frames at the spectral sample rate and each<br />

frame contains samples (in frequency) <strong>of</strong> the spectral curve at a point in time.<br />

Three primary applications exist for the spectral data. The first is direct<br />

modification <strong>of</strong> the spectrum and immediate FFT resynthesis as sound. The<br />

second, which may be considered an extension <strong>of</strong> the first, is the extraction <strong>of</strong><br />

one or more time-varying parameters, such as fundamental frequency or gross<br />

spectral shape. These data may then be used to control conventional synthesis<br />

equipment such as oscillators, filters, etc., rather than direct reconstruction<br />

with the FFT. The third application is display and subsequent study in an<br />

effort to learn more about the processes that created the original sound.<br />

Often, it is convenient to perform some translation <strong>of</strong> the spectral data<br />

before it is modified. If the FFT was used for analysis, each time-frequency

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!