C++ MIDIノート値から音階名を取得

2015/03/01 21:05

あまり需要ないかもしれませんが、MIDIノートの値から音階名を文字列で取得する関数を作ったので載せておきます。


void GetMidiNoteAsString(char *o_midi_note_as_string, int midi_note)
{
    const char* ScaleAsString[] = {
        "C",
        "C#",
        "D",
        "D#",
        "E",
        "F",
        "F#",
        "G",
        "G#",
        "A",
        "A#",
        "B",
    };

    int scale_index = midi_note % 12;
    int octave_offset = -1; // 国際式は-1、YAMAHA式は-2
    int octave = midi_note / 12 + octave_offset; 
    sprintf(o_midi_note_as_string, "%s %d", ScaleAsString[scale_index], octave);
}


  このエントリーをはてなブックマークに追加    

<<「ソフトウェア開発」の記事一覧に戻る

関連記事