bool SimpleEstimation::operator()(std::complex<double> *input_spectrum)
{
	if (updateNoise(input_spectrum))
	{
		MathUtil::computePowerSpectrum(input_spectrum, noise_power, conf.spectrumSize());
		return true;
	}
	return false;
}
Exemplo n.º 2
0
void SoundGenerator::run()
{
    static int nextCC = 0;
    m_clockCount++;

    // every 16 clock cycles => 62,5 kHz
    if ((m_clockCount & 0x0f) == 0)
    {
        updateEnvelope();
        updateNoise();

        updateChannel(m_channelA, m_mixerA);
        updateChannel(m_channelB, m_mixerB);
        updateChannel(m_channelC, m_mixerC);

        *m_bufferPtr++ = (m_channelC.mixValue & 0xff) - 128;
        m_bufferPos += 1;
        if (m_bufferPos >= m_audioBuffer.length())
        {
           m_bufferPtr = reinterpret_cast<qint8 *>(m_audioBuffer.data());
           m_bufferPos = 0;
        }

        *m_bufferPtr++ = (m_channelA.mixValue & 0xff) - 128;
        m_bufferPos += 1;
        if (m_bufferPos >= m_audioBuffer.length())
        {
           m_bufferPtr = reinterpret_cast<qint8 *>(m_audioBuffer.data());
           m_bufferPos = 0;
        }

        m_channelA.mixValue = 0;
        m_channelB.mixValue = 0;
        m_channelC.mixValue = 0;
    }
}
Exemplo n.º 3
0
//--------------------------------------------------------------
void ofApp::scaleYChanged(float & scaleY){
    updateNoise();
}