linearSweep static method

Float32List linearSweep({
  1. required int n,
  2. required double fStart,
  3. required double fEnd,
  4. required double sampleRate,
  5. double amplitude = 1.0,
})

Implementation

static Float32List linearSweep({
  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 = (fEnd - fStart) / T;

  for (int i = 0; i < n; i++) {
    final t = i / sampleRate;
    final phase = 2.0 * math.pi * (fStart * t + 0.5 * k * t * t);
    out[i] = (amplitude * math.sin(phase));
  }
  return out;
}