 |
Time Scaling Algorithm
The second most important goal of our project was to scale
the time of the signal while maintaining the same pitch. There are
a variety of methods to accomplish this task, some significantly
more complex than others. The method that we chose was fairly simple
and easy to implement. The results were consistently better when
we chose to speed up signals rather than slow them down. This was
accomplished by removing samples in such a way as to not perceptively
change the audible frequencies. Blocks of samples were deleted every
80 ms which corresponds to a frequency of 12.5 Hz. Since the human
ear cannot detect changes below 20 Hz, this did not change any frequencies
that affected the sound quality. It did, however, produce very brief
interruptions in the signal, but were not noticeable when combined
with another signal in the final step.
Matlab Code
- timescale.m - scales the length of a singal to compression times its
% original length, where compression is less than one.
|