Copyright: Expander v1.0


Expander v1.2 Help

Parameter Setting

References

About

What’s New


Parameter Setting

Input File: An either 8-bit or 16-bit WAV file with the following restrictions:
it must be mono and PCM format with no compressed chunks (I use CoolEdit for recording, which saves this kind of WAV’s when in PCM mode; the Win’95 built-in sound recorder also produces this kind of WAV’s).

Output File: the same things apply as with Input File.

Expansion Rate: A value which gives the ratio of new_length/old_length. E.g. a value of 2 means that the output WAV is twice as long as the input WAV. Only integer values can be given, so you can’t use the program for time-compression or moderate expansions.

If you want to use a value bigger than can be set with the slider (really?!), type it in the edit box.

Frame Size: If you want to set this value really precisely, take a look at your input file with a WAV editor (at a position where it looks to be periodic), and measure the length (in samples) of about four periods. If this value is under-estimated, it will result in reverberation-like distortion in the output; in this case try to increase this value (non-periodic sounds like drum hits will always suffer from this kind of distortion, mostly when Expansion Rate is bigger than 2).

The default value for this parameter is 1024, which worked fine for me for music sampled at a rate of 22050. Of course, for a sampling rate of 11025 or 44100 it should be halved or doubled.

The value needs not to be a power of two (although the program uses FFT), but Expansion_Rate*Frame_Size will be rounded up to the next power of two, so if you want the computation to be as fast as possible, set Frame Size so that this product be close to a power of two from below (e.g. when Expansion Rate is three, 672 might be a good choice).

Frame Distance: Suggested value is Frame_Size/(4*Expansion_Rate) , e.g. in the case of the above example it is 56. Never give bigger values because it results in degradation of quality. You can give smaller values, but it increases computation time.

Window Function: Sorry, I won’t explain here what window functions are used for in signal processing... what I can advise is that don’t use rectangular window, or use it only for testing the algorithm. For 16-bit samples the Blackman window is theoretically better than the Hamming, but I don’t think you’ll get any perceptible difference.

Synthesis Method: OLA stands for overlap-add and FBS stands for filter-bank summation method. For test data like sine waves OLA gave better results for me (I guess because of the interpolation error of FBS), so I would suggest to use OLA, although for real data FBS also gives good results.


References

If you want to understand how the program works, read the following articles:

The overall structure of the algorithm is described in:

E. Crochiere: A Weighted Overlap-Add Method of Short-Time Fourier Analysis-Synthesis, IEEE Trans. ASSP, Vol. ASSP-28, No. 1, February 1980, pp. 99-102

A complete overview of the theoretical background is:

R. Portnoff: Time-Frequency Representation of Digital Signals and Systems Based on Short-Time Fourier Analysis, IEEE Trans. ASSP, Vol. ASSP-28, No. 1, February 1980, pp. 55-69

These describe only certain cases of the theory but are easier to read:

M. R. Portnoff: Implementation of the Digital Phase Vocoder Using the Fast FourierTransform, IEEE Trans. ASSP, Vol. ASSP-24, June 1976, pp. 243-248

J. B. Allen: Short Term Spectral Analysis, Synthesis and Modification by Discrete Fourier Transform, IEEE Trans. ASSP, Vol. ASSP-25, No. 3, June 1977, pp. 235-238

J.B. Allen - L. R. Rabiner: A Unified Approach to Short-Time Fourier Analysis and Synthesis, IEEE Trans. ASSP, Vol. ASSP-25, No. 11, November 1977, pp. 1558-1564


About

Program: Expander

Version: 1.2

O.S. : Microsoft Windows 95

Release Date: 07.01.1997.

Distribution: Freeware

Author: TOTH Laszlo

Send bug reports, comments, suggestions, money, job offers, ... to:

e-mail: 	 tothl@inf.u-szeged.hu

snail-mail: Research Group on Artificial Intelligence,

 Szeged

 Aradi vertanuk tere 1.

 H-6720

 Hungary


What’s New

02.01. 1998: A very nasty bug was repaired: now you can see the full dialog box if you change Windows’ Font Size to Large Fonts ...

07.01.1997: Version 1.2 - now it can handle WAV’s recorded with the Win’95 built-in sound recorder

06.02.1997: Version 1.1 - The FFT algorithm and so the whole program sped up by about a factor of 2.5

03.14.1997: Version 1.0 Released