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.

460 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

B<br />

fifth harmonic by 0.12 X 2n before each record IS calculated and thus<br />

generate the correct average frequency.<br />

Unfortunately, there is a substantial glitch where the records are<br />

spliced together as shown in Fig. 13-21B. This is due to the fact that the<br />

wave frequency within the records is still 195 Hz and the entire phase<br />

correction takes place between the 'records. Such discontinuities are quite<br />

objectionable. If there was a way to spread the correction throughout the<br />

record, perhaps the results would be better.<br />

One method <strong>of</strong> accomplishing spreading involves the concepts <strong>of</strong> record<br />

overlap and interpolation. Overlap means that the end <strong>of</strong> one record overlaps<br />

the beginning <strong>of</strong> the next rather than butting up against it. Time-variable<br />

interpolation is used to combine the overlapping portions <strong>of</strong> the records into<br />

a single string <strong>of</strong> samples in the overlap area. With this technique, the sharp<br />

discontinuities seen earlier are spread out over the overlap interval.<br />

Figure 13-22 shows some possibilities for overlapping and interpolation.<br />

Figure 13-22A shows an overlap factor <strong>of</strong> 50%, which means that 50%<br />

<strong>of</strong> the time there is overlap between records. Thus, a new record is started<br />

every 0.75 times the record length. figure 13-22B shows 100% overlap<br />

where a new record is started when the previous one is only half complete.<br />

Even higher orders <strong>of</strong> overlap are possible. Obviously, overlapping results in<br />

more computation, since more records are needed per unit time.<br />

The interpolation needed in the overlap areas is accomplished with the<br />

same method described earlier regarding interpolation between two<br />

waveform tables. One requirement is that the "weighting curves" always<br />

sum up to 1. 0 during the overlap interval. A linear curve is the simplest that<br />

RECORD<br />

DURATION<br />

~<br />

I N I<br />

I N+I<br />

1------1<br />

RECORD<br />

PERIOD = 0.75<br />

RECORD DURATION<br />

OVERLAP<br />

INTERVAL<br />

t-1<br />

t N+2 N+4 I<br />

OVERLAP INTERVAL<br />

I~I<br />

N I N+2 N+4 N+6<br />

N+3 N-II N+J N+3<br />

I_I<br />

RECORD<br />

PERIOD= 0.5<br />

RECORD DURATION<br />

(A) (8)<br />

N+5<br />

1.0~, .r-~/--,/<br />

o<br />

~~<br />

RECORD RECORD<br />

N • N+I<br />

(ci<br />

1.0 o /"......../ -~.-~ ......../'<br />

'-v-~<br />

RECORD RECORD<br />

N N+ I<br />

(D)<br />

1.0<br />

0.5<br />

o<br />

'-v-~<br />

RECORD RECORD<br />

N N+I<br />

(E)<br />

Fig. 13-22. Record overlap and interpolation. (A) 50% overlap. (8) 100% overlap.<br />

(C) Interpolation curves for 50% overlap. (0) Linear interpolation<br />

for 100% overlap. (E) sin 2 interpolation for 100% overlap.

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

Saved successfully!

Ooh no, something went wrong!