Code covered by the BSD License  

Highlights from
WSOLA sound Time Scaling

3.0

3.0 | 1 rating Rate this file 18 Downloads (last 30 days) File Size: 2.28 KB File ID: #42831
image thumbnail

WSOLA sound Time Scaling

by

 

25 Jul 2013 (Updated )

WSOLA Algorithm implementation for time scaling(streching/compressing) in the time domain.

| Watch this File

File Information
Description

Implements the algorithm described in the paper by Werner VERHELST and Marc ROELANDS "AN OVERLAP-ADD TECHNIQUE BASED ON WAVEFORM SIMILARITY (WSOLA)
FOR HIGH QUALITY TIME-SCALE MODIFICATION OF SPEECH"
http://www.etro.vub.ac.be/research/dssp/PUB_FILES/int_conf/ICASSP-1993.pdf

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

Required Products MATLAB
MATLAB release MATLAB 7.13 (R2011b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
12 Aug 2014 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.

Updates
29 Jul 2013

Added recursion, amdf and a screenshot

Contact us