|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// apply main peaks, formants 0 to 5 |
|
|
// apply main peaks, formants 0 to 5 |
|
|
#ifdef USE_ASSEMBLER_1 |
|
|
|
|
|
// use an optimised routine for this loop, if available |
|
|
|
|
|
total += AddSineWaves(waveph, h_switch_sign, maxh, harmspect); // call an assembler code routine |
|
|
|
|
|
#else |
|
|
|
|
|
theta = waveph; |
|
|
theta = waveph; |
|
|
|
|
|
|
|
|
for (h = 1; h <= h_switch_sign; h++) { |
|
|
for (h = 1; h <= h_switch_sign; h++) { |
|
|
|
|
|
|
|
|
theta += waveph; |
|
|
theta += waveph; |
|
|
h++; |
|
|
h++; |
|
|
} |
|
|
} |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
if (voicing != 64) |
|
|
if (voicing != 64) |
|
|
total = (total >> 6) * voicing; |
|
|
total = (total >> 6) * voicing; |