public static class WaveformSimilarityBasedOverlapAdd.Parameters
extends java.lang.Object
Constructor and Description |
---|
Parameters(double tempo,
double sampleRate,
int newSequenceMs,
int newSeekWindowMs,
int newOverlapMs) |
Modifier and Type | Method and Description |
---|---|
static WaveformSimilarityBasedOverlapAdd.Parameters |
automaticDefaults(double tempo,
double sampleRate) |
double |
getOverlapMs() |
double |
getSampleRate() |
double |
getSeekWindowMs() |
double |
getSequenceMs() |
double |
getTempo() |
static WaveformSimilarityBasedOverlapAdd.Parameters |
musicDefaults(double tempo,
double sampleRate) |
static WaveformSimilarityBasedOverlapAdd.Parameters |
slowdownDefaults(double tempo,
double sampleRate) |
static WaveformSimilarityBasedOverlapAdd.Parameters |
speechDefaults(double tempo,
double sampleRate) |
public Parameters(double tempo, double sampleRate, int newSequenceMs, int newSeekWindowMs, int newOverlapMs)
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.public static WaveformSimilarityBasedOverlapAdd.Parameters speechDefaults(double tempo, double sampleRate)
public static WaveformSimilarityBasedOverlapAdd.Parameters musicDefaults(double tempo, double sampleRate)
public static WaveformSimilarityBasedOverlapAdd.Parameters slowdownDefaults(double tempo, double sampleRate)
public static WaveformSimilarityBasedOverlapAdd.Parameters automaticDefaults(double tempo, double sampleRate)
public double getOverlapMs()
public double getSequenceMs()
public double getSeekWindowMs()
public double getSampleRate()
public double getTempo()