Integrated program of 4 different kinds of application programs for processing sound signal. 4種類のサウンド信号処理を統合したプログラム.
Dependencies: F746_GUI F746_SAI_IO FrequencyResponseDrawer SD_PlayerSkeleton UIT_FFT_Real
main.cpp@16:d60e5187fd31, 2017-04-27 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu Apr 27 23:55:53 2017 +0000
- Revision:
- 16:d60e5187fd31
- Parent:
- 14:34c356ceb8e7
17
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:224dccbc4edd | 1 | //---------------------------------------------------------------- |
MikamiUitOpen | 0:224dccbc4edd | 2 | // My リアルタイム サウンド処理マシン |
MikamiUitOpen | 0:224dccbc4edd | 3 | // 1. グラフィックイコライザ付き SD オーディオプレーヤー |
MikamiUitOpen | 14:34c356ceb8e7 | 4 | // 2. 遮断周波数可変 LPF/HPF 付き SD オーディオプレーヤー |
MikamiUitOpen | 14:34c356ceb8e7 | 5 | // 3. 残響/ボイスチェンジャ,入力:MEMS マイク |
MikamiUitOpen | 14:34c356ceb8e7 | 6 | // 4. スペクトログラム,入力:MEMS マイク |
MikamiUitOpen | 0:224dccbc4edd | 7 | // |
MikamiUitOpen | 5:0e14065569ea | 8 | // 音響出力:モノラル(L+R を左右チャンネルに出力) |
MikamiUitOpen | 0:224dccbc4edd | 9 | // |
MikamiUitOpen | 14:34c356ceb8e7 | 10 | // このプログラムで使っている "BSP_DISCO_F746NG" は,他のライブラリとの |
MikamiUitOpen | 14:34c356ceb8e7 | 11 | // 関係でコンパイルエラーが発生しないものの中の最新版(rev.5)に更新されて |
MikamiUitOpen | 14:34c356ceb8e7 | 12 | // いる.2017/04/14 の時点で rev.6, rev.7, rev.8 ではコンパイルエラーが |
MikamiUitOpen | 14:34c356ceb8e7 | 13 | // 発生する. |
MikamiUitOpen | 6:bff188326d4d | 14 | // |
MikamiUitOpen | 14:34c356ceb8e7 | 15 | // 2017/04/14, Copyright (c) 2017 MIKAMI, Naoki |
MikamiUitOpen | 0:224dccbc4edd | 16 | //---------------------------------------------------------------- |
MikamiUitOpen | 0:224dccbc4edd | 17 | |
MikamiUitOpen | 0:224dccbc4edd | 18 | #include "GraphicEqulizerMain.hpp" |
MikamiUitOpen | 0:224dccbc4edd | 19 | #include "VariableIirFilterMain.hpp" |
MikamiUitOpen | 14:34c356ceb8e7 | 20 | #include "ReverbFrShifterMain.hpp" |
MikamiUitOpen | 0:224dccbc4edd | 21 | #include "SpectrogramMain.hpp" |
MikamiUitOpen | 0:224dccbc4edd | 22 | |
MikamiUitOpen | 0:224dccbc4edd | 23 | using namespace Mikami; |
MikamiUitOpen | 0:224dccbc4edd | 24 | |
MikamiUitOpen | 0:224dccbc4edd | 25 | int main() |
MikamiUitOpen | 0:224dccbc4edd | 26 | { |
MikamiUitOpen | 0:224dccbc4edd | 27 | Label title(240, 16, "My Realtime Sound Processing Machine", |
MikamiUitOpen | 0:224dccbc4edd | 28 | Label::CENTER, Font16); |
MikamiUitOpen | 0:224dccbc4edd | 29 | const string MENU[] = {"Graphic Equalizer", |
MikamiUitOpen | 0:224dccbc4edd | 30 | "Variable LPF/HPF", |
MikamiUitOpen | 14:34c356ceb8e7 | 31 | "Reverb, Voice Changer", |
MikamiUitOpen | 0:224dccbc4edd | 32 | "Spectrogram"}; |
MikamiUitOpen | 0:224dccbc4edd | 33 | ButtonGroup menuButtons( |
MikamiUitOpen | 16:d60e5187fd31 | 34 | 100, 50, 280, 50, 4, MENU, 0, 5, 1, -1, Font16); |
MikamiUitOpen | 0:224dccbc4edd | 35 | |
MikamiUitOpen | 0:224dccbc4edd | 36 | int num = 0; |
MikamiUitOpen | 0:224dccbc4edd | 37 | while (!menuButtons.GetTouchedNumber(num)) {} |
MikamiUitOpen | 0:224dccbc4edd | 38 | menuButtons.EraseAll(); |
MikamiUitOpen | 0:224dccbc4edd | 39 | title.Draw(""); |
MikamiUitOpen | 16:d60e5187fd31 | 40 | /* |
MikamiUitOpen | 0:224dccbc4edd | 41 | switch (num) |
MikamiUitOpen | 0:224dccbc4edd | 42 | { |
MikamiUitOpen | 14:34c356ceb8e7 | 43 | case 0: GraphicEqualizerMain(); // グラフィックイコライザ |
MikamiUitOpen | 0:224dccbc4edd | 44 | break; |
MikamiUitOpen | 14:34c356ceb8e7 | 45 | case 1: VariableIirFilterMain(); // 遮断周波数可変 LPF/HPF |
MikamiUitOpen | 0:224dccbc4edd | 46 | break; |
MikamiUitOpen | 14:34c356ceb8e7 | 47 | case 2: ReverbFrShifter(); // 残響生成/周波数変換 |
MikamiUitOpen | 0:224dccbc4edd | 48 | break; |
MikamiUitOpen | 14:34c356ceb8e7 | 49 | case 3: Spectrogram(); // スペクトログラム |
MikamiUitOpen | 0:224dccbc4edd | 50 | break; |
MikamiUitOpen | 0:224dccbc4edd | 51 | } |
MikamiUitOpen | 16:d60e5187fd31 | 52 | */ |
MikamiUitOpen | 16:d60e5187fd31 | 53 | // 以下で実行される関数は,中で無限ループになっているため main() 関数には |
MikamiUitOpen | 16:d60e5187fd31 | 54 | // 戻ってこないので,break 文は不要 |
MikamiUitOpen | 16:d60e5187fd31 | 55 | switch (num) |
MikamiUitOpen | 16:d60e5187fd31 | 56 | { |
MikamiUitOpen | 16:d60e5187fd31 | 57 | case 0: GraphicEqualizerMain(); // グラフィックイコライザ |
MikamiUitOpen | 16:d60e5187fd31 | 58 | case 1: VariableIirFilterMain(); // 遮断周波数可変 LPF/HPF |
MikamiUitOpen | 16:d60e5187fd31 | 59 | case 2: ReverbFrShifter(); // 残響生成/周波数変換 |
MikamiUitOpen | 16:d60e5187fd31 | 60 | case 3: Spectrogram(); // スペクトログラム |
MikamiUitOpen | 16:d60e5187fd31 | 61 | } |
MikamiUitOpen | 0:224dccbc4edd | 62 | } |