![](/media/cache/profiles/4cd5792cc3ccd04bcd11a0ed7b114410.jpg.50x50_q85.png)
Nucleo F401REでFM音源を実装するやつ 外部DACとオペアンプを利用 現在はMCP4922とNJM2737
Dependencies: AOTTrigon I2CEEPROM MCP4922 AQM0802A mbed
Fork of NuMidi401 by
NuFM401
Nucleo F401用の自作ソフトウェアMIDI音源
概要
だいたいそんなもんです。
特徴
- ブレッドボードの上で組める程度には簡単な回路構成
- 外部のDACにMCP4922を採用
- 念のためのボルテージフォロアとしてNJM2737Dを採用
- バンク用EEPROMに24FC1025を採用
- シリアル経由でMIDIデータを受信することで操作
補足
シリアル <=> MIDI のドライバにはHairless-MIDISerialをオススメします。 仮想MIDIケーブルはとりあえずMIDI Yokeで。
Diff: FMOscillator/FMAlgorithm.cpp
- 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