--------------------------------------------------------------------------- Sine-wave generator ---------------------------------------------------------------------------
| 39 | // Sine-wave generator |
| 40 | // --------------------------------------------------------------------------- |
| 41 | static void generateSine(fl::vector<fl::i16> &buf, int samples, |
| 42 | int sampleRate, float freq, |
| 43 | float amplitude = 30000.0f) { |
| 44 | buf.resize(samples); |
| 45 | for (int i = 0; i < samples; i++) { |
| 46 | float t = static_cast<float>(i) / static_cast<float>(sampleRate); |
| 47 | float s = fl::sinf(2.0f * static_cast<float>(FL_M_PI) * freq * t); |
| 48 | buf[i] = static_cast<fl::i16>(s * amplitude); |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | // --------------------------------------------------------------------------- |
| 53 | // Helper: find peak bin |