本文整理汇总了C++中computefiltercoefs函数的典型用法代码示例。如果您正苦于以下问题:C++ computefiltercoefs函数的具体用法?C++ computefiltercoefs怎么用?C++ computefiltercoefs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了computefiltercoefs函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: computefiltercoefs
void AnalogFilter::setfreq (REALTYPE frequency)
{
if (frequency < 0.1) frequency = 0.1;
REALTYPE rap = freq / frequency;
if (rap < 1.0) rap = 1.0 / rap;
oldabovenq = abovenq;
abovenq = frequency > (SAMPLE_RATE / 2 - 500.0);
int nyquistthresh = (abovenq ^ oldabovenq);
if ((rap > 3.0) || (nyquistthresh != 0))
{
// if the frequency is changed fast, it needs interpolation
// (now, filter and coeficients backup)
for (int i = 0; i < 3; i++)
{
oldc[i] = c[i];
oldd[i] = d[i];
}
for (int i = 0; i < MAX_FILTER_STAGES + 1; i++)
{
oldx[i] = x[i];
oldy[i] = y[i];
}
if (firsttime == 0)
needsinterpolation = 1;
}
freq = frequency;
computefiltercoefs();
firsttime = 0;
}
开发者ID:alessandropetrolati,项目名称:juced,代码行数:35,代码来源:AnalogFilter.cpp
示例2: cosf
/*
* Initialise the filters
*/
void SUBnote::initfilter(bpfilter &filter,
float freq,
float bw,
float amp,
float mag)
{
filter.xn1 = 0.0f;
filter.xn2 = 0.0f;
if(start == 0) {
filter.yn1 = 0.0f;
filter.yn2 = 0.0f;
}
else {
float a = 0.1f * mag; //empirically
float p = RND * 2.0f * PI;
if(start == 1)
a *= RND;
filter.yn1 = a * cosf(p);
filter.yn2 = a * cosf(p + freq * 2.0f * PI / synth.samplerate_f);
//correct the error of computation the start amplitude
//at very high frequencies
if(freq > synth.samplerate_f * 0.96f) {
filter.yn1 = 0.0f;
filter.yn2 = 0.0f;
}
}
filter.amp = amp;
filter.freq = freq;
filter.bw = bw;
computefiltercoefs(filter, freq, bw, 1.0f);
}
开发者ID:peter1000,项目名称:Carla,代码行数:37,代码来源:SUBnote.cpp
示例3: computefiltercoefs
/*
* Initialise the filters
*/
void SUBnote::initfilter(bpfilter &filter,
REALTYPE freq,
REALTYPE bw,
REALTYPE amp,
REALTYPE mag)
{
filter.xn1=0.0;
filter.xn2=0.0;
if (start==0) {
filter.yn1=0.0;
filter.yn2=0.0;
} else {
REALTYPE a=0.1*mag;//empirically
REALTYPE p=RND*2.0*PI;
if (start==1) a*=RND;
filter.yn1=a*cos(p);
filter.yn2=a*cos(p+freq*2.0*PI/SAMPLE_RATE);
//correct the error of computation the start amplitude
//at very high frequencies
if (freq>SAMPLE_RATE*0.96) {
filter.yn1=0.0;
filter.yn2=0.0;
};
};
filter.amp=amp;
filter.freq=freq;
filter.bw=bw;
computefiltercoefs(filter,freq,bw,1.0);
};
开发者ID:ishkabbible,项目名称:ZASF,代码行数:36,代码来源:SUBnote.cpp
示例4: computefiltercoefs_hiQ
void
RBFilter::settype (int type_)
{
type = type_;
if(!qmode) computefiltercoefs ();
else computefiltercoefs_hiQ ();
};
开发者ID:eriser,项目名称:guitareffectvst,代码行数:7,代码来源:RBFilter.cpp
示例5: dB2rap
void
RBFilter::setgain (float dBgain)
{
gain = dB2rap (dBgain);
if(!qmode) computefiltercoefs ();
else computefiltercoefs_hiQ ();
};
开发者ID:eriser,项目名称:guitareffectvst,代码行数:7,代码来源:RBFilter.cpp
示例6: computefiltercoefs
void AnalogFilter::setfreq(float frequency)
{
if(frequency < 0.1f)
frequency = 0.1f;
float rap = freq / frequency;
if(rap < 1.0f)
rap = 1.0f / rap;
oldabovenq = abovenq;
abovenq = frequency > (halfsamplerate_f - 500.0f);
bool nyquistthresh = (abovenq ^ oldabovenq);
//if the frequency is changed fast, it needs interpolation
if((rap > 3.0f) || nyquistthresh) { //(now, filter and coeficients backup)
oldCoeff = coeff;
for(int i = 0; i < MAX_FILTER_STAGES + 1; ++i)
oldHistory[i] = history[i];
if(!firsttime)
needsinterpolation = true;
}
freq = frequency;
computefiltercoefs();
firsttime = false;
}
开发者ID:CallisteHanriat,项目名称:lmms,代码行数:26,代码来源:AnalogFilter.cpp
示例7: cleanup
void SVFilter::setstages(int stages_)
{
if(stages_ >= MAX_FILTER_STAGES)
stages_ = MAX_FILTER_STAGES - 1;
stages = stages_;
cleanup();
computefiltercoefs();
}
开发者ID:grimtraveller,项目名称:zynaddsubfx,代码行数:8,代码来源:SVFilter.cpp
示例8: computefiltercoefs
void
AnalogFilter::setSR(unsigned int value)
{
iSAMPLE_RATE = value;
ifSAMPLE_RATE=(float) iSAMPLE_RATE;
computefiltercoefs ();
}
开发者ID:yroffin,项目名称:Rakkarack,代码行数:9,代码来源:AnalogFilter.C
示例9: setstages
void
setstages (ZEq10ban_t * s, AnalogFilter *filter, int stages_)
{
if (stages_ >= MAX_FILTER_STAGES)
stages_ = MAX_FILTER_STAGES - 1;
filter->stages = stages_;
AnalogFilter_Cleanup (s,filter);
computefiltercoefs (s,filter);
};
开发者ID:BackupTheBerlios,项目名称:holap,代码行数:9,代码来源:analogfilter.c
示例10: cleanup
void
RBFilter::setstages (int stages_)
{
if (stages_ >= MAX_FILTER_STAGES)
stages_ = MAX_FILTER_STAGES - 1;
stages = stages_;
cleanup ();
if(!qmode) computefiltercoefs ();
else computefiltercoefs_hiQ ();
};
开发者ID:eriser,项目名称:guitareffectvst,代码行数:10,代码来源:RBFilter.cpp
示例11: cleanup
void AnalogFilter::setstages(int stages_)
{
if(stages_ >= MAX_FILTER_STAGES)
stages_ = MAX_FILTER_STAGES - 1;
if(stages_ != stages) {
stages = stages_;
cleanup();
computefiltercoefs();
}
}
开发者ID:loki42,项目名称:Carla,代码行数:10,代码来源:AnalogFilter.cpp
示例12: computefiltercoefs
void SVFilter::setfreq(REALTYPE frequency) {
if (frequency<0.1) frequency=0.1;
REALTYPE rap=freq/frequency;
if (rap<1.0) rap=1.0/rap;
oldabovenq=abovenq;
abovenq=frequency>(SAMPLE_RATE/2-500.0);
int nyquistthresh=(abovenq^oldabovenq);
if ((rap>3.0)||(nyquistthresh!=0)) { //if the frequency is changed fast, it needs interpolation (now, filter and coeficients backup)
if (firsttime==0) needsinterpolation=1;
ipar=par;
};
freq=frequency;
computefiltercoefs();
firsttime=0;
};
开发者ID:rsenn,项目名称:eXT2,代码行数:20,代码来源:SVFilter.C
示例13: computefiltercoefs
void SVFilter::setfreq(REALTYPE frequency)
{
REALTYPE rap;
int nyquistthresh;
if (frequency < 0.1)
{
frequency = 0.1;
}
rap = freq / frequency;
if (rap < 1.0)
{
rap = 1.0 / rap;
}
oldabovenq = abovenq;
abovenq = frequency > (m_sample_rate / 2 - 500.0);
nyquistthresh = (abovenq ^ oldabovenq);
if (rap > 3.0 || nyquistthresh != 0)
{
// if the frequency is changed fast, it needs interpolation (now, filter and coeficients backup)
if (firsttime == 0)
{
needsinterpolation = 1;
}
ipar = par;
}
freq = frequency;
computefiltercoefs();
firsttime = 0;
}
开发者ID:XelaRellum,项目名称:zyn,代码行数:38,代码来源:sv_filter.cpp
示例14: computefiltercoefs
void SVFilter::setfreq(float frequency)
{
if(frequency < 0.1f)
frequency = 0.1f;
float rap = freq / frequency;
if(rap < 1.0f)
rap = 1.0f / rap;
oldabovenq = abovenq;
abovenq = frequency > (synth->samplerate_f / 2 - 500.0f);
bool nyquistthresh = (abovenq ^ oldabovenq);
//if the frequency is changed fast, it needs interpolation
if((rap > 3.0f) || nyquistthresh) { //(now, filter and coeficients backup)
if(!firsttime)
needsinterpolation = true;
ipar = par;
}
freq = frequency;
computefiltercoefs();
firsttime = false;
}
开发者ID:grimtraveller,项目名称:zynaddsubfx,代码行数:23,代码来源:SVFilter.cpp
示例15: setfreq
void
setfreq (ZEq10ban_t * s, AnalogFilter *filter, float frequency)
{
int i;
if (frequency < 0.1)
frequency = 0.1;
float rap = filter->freq / frequency;
if (rap < 1.0)
rap = 1.0 / rap;
filter->oldabovenq = filter->abovenq;
filter->abovenq = frequency > (s->SAMPLE_RATE / 2 - 500.0);
int nyquistthresh = (filter->abovenq ^ filter->oldabovenq);
if ((rap > 3.0) || (nyquistthresh != 0))
{ //if the frequency is changed fast, it needs interpolation (now, filter and coeficients backup)
for (i = 0; i < 3; i++)
{
filter->oldc[i] = filter->c[i];
filter->oldd[i] = filter->d[i];
};
for (i = 0; i < MAX_FILTER_STAGES + 1; i++)
{
filter->oldx[i] = filter->x[i];
filter->oldy[i] = filter->y[i];
};
if (filter->firsttime == 0)
filter->needsinterpolation = 1;
};
filter->freq = frequency;
computefiltercoefs (s,filter);
filter->firsttime = 0;
};
开发者ID:BackupTheBerlios,项目名称:holap,代码行数:36,代码来源:analogfilter.c
示例16: setq
void
setq (ZEq10ban_t * s, AnalogFilter *filter, float q_)
{
filter->q = q_;
computefiltercoefs (s,filter);
};
开发者ID:BackupTheBerlios,项目名称:holap,代码行数:6,代码来源:analogfilter.c
示例17: dB2rap
void SVFilter::setgain(float dBgain)
{
gain = dB2rap(dBgain);
computefiltercoefs();
}
开发者ID:grimtraveller,项目名称:zynaddsubfx,代码行数:5,代码来源:SVFilter.cpp
示例18: setgain
void
setgain (goomf_synth_t * s, AnalogFilter * filter, float dBgain)
{
filter->gain = dB2rap (dBgain);
computefiltercoefs (s, filter);
};
开发者ID:BackupTheBerlios,项目名称:holap,代码行数:6,代码来源:analogfilter.c
示例19: settype
void
settype (ZEq10ban_t * s, AnalogFilter *filter, int type_)
{
filter->type = type_;
computefiltercoefs (s,filter);
};
开发者ID:BackupTheBerlios,项目名称:holap,代码行数:6,代码来源:analogfilter.c
示例20: setgain
void
setgain (ZEq10ban_t * s, AnalogFilter *filter, float dBgain)
{
filter->gain = dB2rap (dBgain);
computefiltercoefs (s,filter);
};
开发者ID:BackupTheBerlios,项目名称:holap,代码行数:6,代码来源:analogfilter.c
注:本文中的computefiltercoefs函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论