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

Committer:
MikamiUitOpen
Date:
Thu Apr 27 23:55:53 2017 +0000
Revision:
16:d60e5187fd31
Parent:
14:34c356ceb8e7
17

Who changed what in which revision?

UserRevisionLine numberNew 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 }