![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
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
Diff: SignalProcessing/Reverbrator.hpp
- Revision:
- 0:fa74b1130cc3
- Child:
- 5:503bd366fd73
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SignalProcessing/Reverbrator.hpp Sun Jan 29 09:11:30 2017 +0000 @@ -0,0 +1,39 @@ +//-------------------------------------------------------------- +// 残響生成器 +// +// 2017/01/28, Copyright (c) 2017 MIKAMI, Naoki +//-------------------------------------------------------------- + +#ifndef ECHO_SYSTEM_HPP +#define ECHO_SYSTEM_HPP + +#include "ReverbUnit.hpp" + +class EchoSystem : public SignalProcessing +{ +public: + EchoSystem(float gC = 0.8f, float gA = 0.6f) + : G0_(1.0f - gC), + cmF1_(gC, 1759), cmF2_(gC, 1543), + cmF3_(gC, 1319), cmF4_(gC, 1301), + apF1_(gA, 241), apF2_(gA, 173) {} + + virtual float Execute(float xn1, float xn2) + { + float xn = G0_*(xn1 + xn2)*0.5f; + float yn = cmF1_.Execute(xn) + + cmF2_.Execute(xn) + + cmF3_.Execute(xn) + + cmF4_.Execute(xn); + yn = apF2_.Execute(apF1_.Execute(yn)); + yn = yn + xn; // add direct input signal + return yn; + } + +private: + const float G0_; + + CombFilter cmF1_, cmF2_, cmF3_, cmF4_; + AllPassFilter apF1_, apF2_; +}; +#endif // ECHO_SYSTEM_HPP