Nucleo F401REでFM音源を実装するやつ 外部DACとオペアンプを利用 現在はMCP4922とNJM2737

Dependencies:   AOTTrigon I2CEEPROM MCP4922 AQM0802A mbed

Fork of NuMidi401 by Yuu Kobayashi

NuFM401

Nucleo F401用の自作ソフトウェアMIDI音源

概要

だいたいそんなもんです。

特徴

  • ブレッドボードの上で組める程度には簡単な回路構成
  • 外部のDACにMCP4922を採用
  • 念のためのボルテージフォロアとしてNJM2737Dを採用
  • バンク用EEPROMに24FC1025を採用
  • シリアル経由でMIDIデータを受信することで操作

補足

シリアル <=> MIDI のドライバにはHairless-MIDISerialをオススメします。 仮想MIDIケーブルはとりあえずMIDI Yokeで。

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;