Demo program of digital signal processing: Variable LPF/HPF, Vocal canceller, Pitch shifter, Reverbrator. ディジタル信号処理のデモプログラム. 遮断周波数可変 LPF/HPF,ボーカルキャンセラ,ピッチシフタ,残響生成器.
Dependencies: Array_Matrix F446_AD_DA UIT_AQM1602 mbed
Reverbrator.hpp
00001 //-------------------------------------------------------------- 00002 // 残響生成器 00003 // 00004 // 2017/01/31, Copyright (c) 2017 MIKAMI, Naoki 00005 //-------------------------------------------------------------- 00006 00007 #ifndef ECHO_SYSTEM_HPP 00008 #define ECHO_SYSTEM_HPP 00009 00010 #include "ReverbUnit.hpp" 00011 00012 class EchoSystem : public SignalProcessing 00013 { 00014 public: 00015 EchoSystem(float gC = 0.8f, float gA = 0.6f) 00016 : G0_(1.0f - gC), 00017 cmF1_(gC, 1759), cmF2_(gC, 1543), 00018 cmF3_(gC, 1319), cmF4_(gC, 1301), 00019 apF1_(gA, 241), apF2_(gA, 173) {} 00020 00021 virtual float Execute(float xn1, float xn2) 00022 { 00023 float xn = G0_*(xn1 + xn2)*0.5f; 00024 float yn = cmF1_.Execute(xn) + cmF2_.Execute(xn) 00025 + cmF3_.Execute(xn) + cmF4_.Execute(xn); 00026 yn = apF2_.Execute(apF1_.Execute(yn)); 00027 yn = yn + xn; // add direct input signal 00028 return yn; 00029 } 00030 00031 private: 00032 const float G0_; 00033 00034 CombFilter cmF1_, cmF2_, cmF3_, cmF4_; 00035 AllPassFilter apF1_, apF2_; 00036 }; 00037 #endif // ECHO_SYSTEM_HPP
Generated on Tue Jul 19 2022 05:39:48 by 1.7.2