Output the audio signal with filtering by graphic equalizer in the *.wav file on the SD card using onboard CODEC. SD カードの *.wav ファイルのオーディオ信号をグラフィック・イコライザを通して,ボードに搭載されているCODEC で出力する.
Dependencies: F746_GUI F746_SAI_IO SD_PlayerSkeleton FrequencyResponseDrawer
MyGraphicEqualizer/GrEqDesignerDrawer.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2016-08-15
- Revision:
- 15:ef0acc9fe111
- Child:
- 20:5c69e664e17c
File content as of revision 15:ef0acc9fe111:
//------------------------------------------------------------------------------ // イコライザ用フィルタのパラメータを設定し,その周波数特性を描画するためのクラス -- Header // // 2016/08/11, Copyright (c) 2016 MIKAMI, Naoki //------------------------------------------------------------------------------ #ifndef F746_GREQ_DISIGNER_AND_DRAWER_HPP #define F746_GREQ_DISIGNER_AND_DRAWER_HPP #include "NumericLabel.hpp" #include "FrquencyResponseDrawer.hpp" #include "GrEqParamsCalculator.hpp" #include "GrEqualizerFrqResp.hpp" namespace Mikami { class GrEqDesignerDrawer { public: // Constructor GrEqDesignerDrawer(uint16_t x0, uint16_t y0, int bands, float f0, int fs, float db1); virtual ~GrEqDesignerDrawer() {}; // 周波数特性の描画 void DrawResponse(); // 周波数特性の平坦化と描画 void DrawFlat(); // 特定のバンドのイコライザ用フィルタのパラメータの設定と周波数特性の再描画 void DesignAndRedraw(float gainDb, int n); BiquadGrEq::Coefs GetCoefficient(int n) { return ck_[n]; } uint16_t GetX0() { return drawerObj_.X(f0_[0]); } uint16_t GetSpaceX() { return (uint16_t)(drawerObj_.X(f0_[1]) - drawerObj_.X(f0_[0])); } int GetBands() { return BANDS_; } private: LCD_DISCO_F746NG *lcd_; TS_DISCO_F746NG *ts_; const uint16_t X0_, Y0_; const int BANDS_; const float Q_VAL_; Array<float> f0_; // 中心周波数を格納する配列のポインタ Array<BiquadGrEq::Coefs> ck_; // フィルタの係数 GrEqParams calculator_; GrEqualizerFrqResp frqResp_; // フィルタの周波数応答に対応するオブジェクト FrqRespDrawer drawerObj_; }; } #endif // F746_GREQ_DISIGNER_AND_DRAWER_HPP