ノートナンバーから周波数を出力する関数

#include <iostream>
#include <math.h>

float NoteNumberFrequency(float x){
    std::cout << "[Func][NoteNumberFrequency]" << std::endl;
    if (x > 127) { //0〜127以外が入力されたときのエラー処理、抜けて0を返す。
        std::cout << "[エラー] 0〜127以外の数が入力されました。" << std::endl;
        return 0;
    }
    float z = 440 * powf(2, (x-69) / 12);
    return z;
}

//メイン関数
int main(){
    int NoteNumber = 60;
    double a = NoteNumberFrequency(NoteNumber); //60は中央ド
    std::cout << "[Func][NoteNumberFrequency][ノートナンバー" << NoteNumber << " = " << a << "]" << std::endl;
    return 0;
}

コメントを残す

Scroll to top
Top