8 namespace swift::sound::sample_provider
12 const int c =
static_cast<int>(count);
16 for (
int sampleCount = 0; sampleCount < count; sampleCount++)
18 double white = 2 * m_random.generateDouble() - 1;
20 m_pinkNoiseBuffer[0] = 0.99886 * m_pinkNoiseBuffer[0] + white * 0.0555179;
21 m_pinkNoiseBuffer[1] = 0.99332 * m_pinkNoiseBuffer[1] + white * 0.0750759;
22 m_pinkNoiseBuffer[2] = 0.96900 * m_pinkNoiseBuffer[2] + white * 0.1538520;
23 m_pinkNoiseBuffer[3] = 0.86650 * m_pinkNoiseBuffer[3] + white * 0.3104856;
24 m_pinkNoiseBuffer[4] = 0.55000 * m_pinkNoiseBuffer[4] + white * 0.5329522;
25 m_pinkNoiseBuffer[5] = -0.7616 * m_pinkNoiseBuffer[5] - white * 0.0168980;
26 double pink = m_pinkNoiseBuffer[0] + m_pinkNoiseBuffer[1] + m_pinkNoiseBuffer[2] + m_pinkNoiseBuffer[3] +
27 m_pinkNoiseBuffer[4] + m_pinkNoiseBuffer[5] + m_pinkNoiseBuffer[6] + white * 0.5362;
28 m_pinkNoiseBuffer[6] = white * 0.115926;
29 const float sampleValue =
static_cast<float>(m_gain * (pink / 5));
30 samples[sampleCount] = sampleValue;
virtual int readSamples(QVector< float > &samples, qint64 count)
Read samples.