Я использую вспомогательную функцию getSampleRate(), чтобы выработать ограничение Найквиста и назначить его временной локальной переменной.Ограничение частоты Nyquist - как смешивать гармоники только ниже предела Nyqvist
Теперь я должен обновить часть класса, которая смешивает гармоники вместе, так что в микс включены только гармоники с частотами ниже предела Найквиста. Предположительно getFrequency() узнает, на какой частоте он установлен, но после этого я все еще не уверен, как включать только эти частоты. Возможно, утверждение if.
Заранее спасибо, я новичок в программировании, особенно C аудио
class SawWave
{
public:
void reset()
{
for(int i=0; i<MAX_HARMONICS; i++)
{
harmonic[i].reset();
}
}
void setFrequency(float frequency){
for(int i=0; i < MAX_HARMONICS; i++)
{
harmonic[i].setFrequency(frequency * (i + 1));
}
}
float tick()
{
float nyquist = getSampleRate() * 0.5;
float sum = 0;
int count;
for (count = 0; count < MAX_HARMONICS; count++)
{
sum += (harmonic[count].tick()) * 1/(count + 1);
}
return sum;
}
protected:
Sine harmonic[MAX_HARMONICS];
};
Вы хотите фильтр нижних частот? – Brad