File Exchange

image thumbnail

WSOLA sound Time Scaling

version (2.28 KB) by Arthur Dgn
WSOLA Algorithm implementation for time scaling(streching/compressing) in the time domain.

1 Download

Updated 29 Jul 2013

View Version History

View License

Implements the algorithm described in the paper by Werner VERHELST and Marc ROELANDS "AN OVERLAP-ADD TECHNIQUE BASED ON WAVEFORM SIMILARITY (WSOLA)

* Recursive for scale factors too large or too small for a single pass.
* Implements both cross-correlation and AMDF similarity

Cite As

Arthur Dgn (2021). WSOLA sound Time Scaling (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Thomas Clark

Nice to have a decent reference to back this up.
As far as I can tell at the moment, the code itself seems fine, so thanks for your efforts.

However, it's be difficult to use this out of the box for a general application - it's really just a case of needing a tidy up to become a very useful and generally applicable function, though.

I have two main issues:
1. lack of documentation - inputs are only roughly described rather than defined, no syntax, no help examples, no versioning etc etc.

2. I'm concerned about lack of generality caused by use of hard coded constants. Especially things like win_time, overlap_ratio, max_err which depend on programmer defined constants that I'm fairly sure require tuning for different applications. The fact that these aren't well defined in the comments doesn't make it that easy to infer the impact these values have without decent understanding of the method.

Example (admittedly a little extreme): I'm using this method to resample a time series of data sampled at 1Hz. A hanning window size of 0.02s isn't appropriate so I'm having to rewrite the input parsing totally.

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!