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で。

Revision:
13:e11380ceb460
Parent:
11:62da91a1eaf1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FMOscillator/MIDIUtil.h	Sat Jan 17 03:57:58 2015 +0000
@@ -0,0 +1,37 @@
+#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;
\ No newline at end of file