• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ computefiltercoefs函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ con函数代码示例发布时间:2022-05-30
下一篇:
C++ computeTileHash函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap