void ResamplingAudioSource::createLowPass (const double frequencyRatio) { const double proportionalRate = (frequencyRatio > 1.0) ? 0.5 / frequencyRatio : 0.5 * frequencyRatio; const double n = 1.0 / std::tan (double_Pi * jmax (0.001, proportionalRate)); const double nSquared = n * n; const double c1 = 1.0 / (1.0 + std::sqrt (2.0) * n + nSquared); setFilterCoefficients (c1, c1 * 2.0f, c1, 1.0, c1 * 2.0 * (1.0 - nSquared), c1 * (1.0 - std::sqrt (2.0) * n + nSquared)); }
bool setup(BeagleRTContext *context, void *userData) { pinModeFrame(context, 0, buttonPin1, INPUT); pinModeFrame(context, 0, ledPin, OUTPUT); gNumAudioFramesPerAnalog = context->audioFrames / context->analogFrames; for (int i = 0; i < NUMBER_OF_READPOINTERS; i++) { gDrumBufferForReadPointer[i] = -1; } setFilterCoefficients(context->audioSampleRate/2.0, 150.0); gShouldPlayFill = 0; return true; }