exponentialSweep static method
Implementation
static Float32List exponentialSweep({
required int n,
required double fStart,
required double fEnd,
required double sampleRate,
double amplitude = 1.0,
}) {
final out = Float32List(n);
final T = n / sampleRate;
final K = T * fStart / math.log(fEnd / fStart);
final L = math.log(fEnd / fStart);
for (int i = 0; i < n; i++) {
final t = i / sampleRate;
final phase = 2.0 * math.pi * K * (math.exp(t * L / T) - 1.0);
out[i] = (amplitude * math.sin(phase));
}
return out;
}