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

Committer:
MikamiUitOpen
Date:
2017-03-17
Revision:
11:5eb943ee9b91
Parent:
10:5168b49e1d77
Child:
12:f8f904aac977

File content as of revision 11:5eb943ee9b91:

//----------------------------------------------------------------
//  My リアルタイム サウンド処理マシン
//      1. グラフィックイコライザ付き SD オーディオプレーヤー
//      2. 遮断周波数可変 LPF/HPF
//      3. エコー/周波数変換
//      4. スペクトログラム
//
//  音響出力:モノラル(L+R を左右チャンネルに出力)
//
//   このプログラムでは 2017/03/17 の時点で,"BSP_DISCO_F746NG" を除く
//  ライブラリのリビジョンは最新のものに更新されている.
//   "BSP_DISCO_F746NG" については,他のライブラリとの関係でコンパイル
//  エラーが発生しないものの中の最新版(rev.5)に更新されている.rev.6 と
//  rev.7 ではコンパイルエラーが発生する.
//
//  2017/03/17, Copyright (c) 2017 MIKAMI, Naoki
//----------------------------------------------------------------

#include "GraphicEqulizerMain.hpp"
#include "VariableIirFilterMain.hpp"
#include "EchoFrShifterMain.hpp"
#include "SpectrogramMain.hpp"

using namespace Mikami;

int main()
{
    Label title(240, 16, "My Realtime Sound Processing Machine",
                Label::CENTER, Font16); 
    const string MENU[] = {"Graphic Equalizer",
                           "Variable LPF/HPF",
                           "Echo/Voice Changer",
                           "Spectrogram"};
    ButtonGroup menuButtons(
        120, 50, 240, 50, 4, MENU, 0, 5, 1, -1, Font16);

    int num = 0;
    while (!menuButtons.GetTouchedNumber(num)) {}
    menuButtons.EraseAll();
    title.Draw("");

    switch (num)
    {
        // グラフィックイコライザ
        case 0: GraphicEqualizerMain();
                break;
        // 遮断周波数可変 LPF/HPF
        case 1: VariableIirFilterMain();
                break;
        // エコー/周波数変換
        case 2: EchoFrShifter();
                break;
        // スペクトログラム
        case 3: Spectrogram();
                break;
    }

    while (true);
}