Package be.tarsos.dsp

Class WaveformSimilarityBasedOverlapAdd.Parameters

java.lang.Object
be.tarsos.dsp.WaveformSimilarityBasedOverlapAdd.Parameters
Enclosing class:
WaveformSimilarityBasedOverlapAdd

public static class WaveformSimilarityBasedOverlapAdd.Parameters
extends java.lang.Object
An object to encapsulate some of the parameters for WSOLA, together with a couple of practical helper functions.
Author:
Joren Six
  • Constructor Details

    • Parameters

      public Parameters​(double tempo, double sampleRate, int newSequenceMs, int newSeekWindowMs, int newOverlapMs)
      Parameters:
      tempo - The tempo change 1.0 means unchanged, 2.0 is + 100% , 0.5 is half of the speed.
      sampleRate - The sample rate of the audio 44.1kHz is common.
      newSequenceMs - Length of a single processing sequence, in milliseconds. This determines to how long sequences the original sound is chopped in the time-stretch algorithm. The larger this value is, the lesser sequences are used in processing. In principle a bigger value sounds better when slowing down tempo, but worse when increasing tempo and vice versa. Increasing this value reduces computational burden & vice versa.
      newSeekWindowMs - Seeking window length in milliseconds for algorithm that finds the best possible overlapping location. This determines from how wide window the algorithm may look for an optimal joining location when mixing the sound sequences back together. The bigger this window setting is, the higher the possibility to find a better mixing position will become, but at the same time large values may cause a "drifting" artifact because consequent sequences will be taken at more uneven intervals. If there's a disturbing artifact that sounds as if a constant frequency was drifting around, try reducing this setting. Increasing this value increases computational burden & vice versa.
      newOverlapMs - Overlap length in milliseconds. When the chopped sound sequences are mixed back together, to form a continuous sound stream, this parameter defines over how long period the two consecutive sequences are let to overlap each other. This shouldn't be that critical parameter. If you reduce the DEFAULT_SEQUENCE_MS setting by a large amount, you might wish to try a smaller value on this. Increasing this value increases computational burden & vice versa.
  • Method Details