Nucleo F401REでFM音源を実装するやつ の実装途中で32ポリ音源にしたやつ 外部DACとオペアンプを利用 現在はMCP4922とNJM2737

Dependencies:   AOTTrigon I2CEEPROM MCP4922 mbed

MIDIUtil.h

Committer:
kb10uy
Date:
2014-12-29
Revision:
11:62da91a1eaf1
Parent:
10:0ffdefe75566

File content as of revision 11:62da91a1eaf1:

#pragma once

extern float notenumfreqs[];

inline float getNoteNumberFrequency(int nn) {
    return notenumfreqs[nn];
}

enum MIDIMessageType{
    NoteOn,
    NoteOff,
    PolyphonicKeyPressure,
    ControlChange,
    ProgramChange,
    ChannelPressure,
    PitchBend,
    ChannelMode,
    SystemCommon,
    SystemRealtime,
};

typedef struct {
    MIDIMessageType type;
    char channel;
    union {
        char note;
        char control;
        char program;
        char LSB;
    };
    union {
        char velocity;
        char pressure;
        char data;
        char MSB;
    };
} MidiMessage;