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:
19:f0dcf591c5dd
Child:
20:8278e607a687
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FMOscillator/FMAlgorithm.cpp	Thu Jan 29 11:05:37 2015 +0000
@@ -0,0 +1,36 @@
+#include "FMAlgorithm.h"
+
+FMAlgorithm::FMAlgorithm()
+{
+    opcount = 0;
+    cncount = 0;
+    operators = NULL;
+    connections = NULL;
+}
+
+FMAlgorithm::FMAlgorithm(int opc, int cnc)
+{
+    opcount = opc;
+    cncount = cnc;
+    operators = new FMOperator*[opcount];
+    connections = new FMAlgorithmConnection[cncount];
+}
+
+FMAlgorithm::~FMAlgorithm()
+{
+    if (operators != NULL) delete[] operators;
+    if (connections != NULL) delete[] connections;
+}
+
+void FMAlgorithm::setOperator(int num, FMOperator *op)
+{
+    if (num >= opcount) return;
+    operators[num] = op;
+}
+
+void FMAlgorithm::setConnection(int num, int t, int s)
+{
+    if (num >= cncount) return;
+    connections[num].target = t;
+    connections[num].source = s;
+}
\ No newline at end of file