⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chorus.cpp

📁 Mobile STK for Symbian OS V0.1
💻 CPP
字号:
/***************************************************//*! \class Chorus    \brief STK chorus effect class.    This class implements a chorus effect.    by Perry R. Cook and Gary P. Scavone, 1995 - 2005.*//***************************************************/#include "Chorus.h"#if !defined(SYMBIAN)#include <iostream>#endifChorus :: Chorus(StkFloat baseDelay){  delayLine_[0].setMaximumDelay( (unsigned long) (baseDelay * 1.414) + 2);  delayLine_[0].setDelay( baseDelay );  delayLine_[1].setMaximumDelay( (unsigned long) (baseDelay * 1.414) + 2);  delayLine_[1].setDelay( baseDelay );  baseLength_ = baseDelay;  mods_[0].setFrequency(0.2);  mods_[1].setFrequency(0.222222);  modDepth_ = 0.05;  effectMix_ = 0.5;  this->clear();}Chorus :: ~Chorus(){}void Chorus :: clear(){  delayLine_[0].clear();  delayLine_[1].clear();  lastOutput_[0] = 0.0;  lastOutput_[1] = 0.0;}void Chorus :: setModDepth(StkFloat depth){  modDepth_ = depth;}void Chorus :: setModFrequency(StkFloat frequency){  mods_[0].setFrequency(frequency);  mods_[1].setFrequency(frequency * 1.1111);}StkFloat Chorus :: computeSample(StkFloat input){  delayLine_[0].setDelay( baseLength_ * 0.707 * (1.0 + modDepth_ * mods_[0].tick()) );  delayLine_[1].setDelay( baseLength_  * 0.5 *  (1.0 - modDepth_ * mods_[1].tick()) );  lastOutput_[0] = input * (1.0 - effectMix_);  lastOutput_[0] += effectMix_ * delayLine_[0].tick(input);  lastOutput_[1] = input * (1.0 - effectMix_);  lastOutput_[1] += effectMix_ * delayLine_[1].tick(input);  return Effect::lastOut();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -