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

Operator.h

Committer:
kb10uy
Date:
2014-12-29
Revision:
10:0ffdefe75566
Parent:
9:12a54d2ea8fc
Child:
12:7408b85fba39

File content as of revision 10:0ffdefe75566:

#pragma once
#include "mbed.h"
#include "AOTTrigon.h"


class FMOperator {

public:
    FMOperator();
    FMOperator(Timer *tm, AOTTrigon *t);
    float calculate(float fmIn);
    void attackNote(float freq);
    void releaseNote();

    float attack;
    float delay;
    float sustain;
    float sustainRate;
    float release;

    float frequencyMultiple;
    float totalLevel;

private:
    Timer *master;
    AOTTrigon *tri;
    //時間だけdouble確保
    double startTime;
    double releaseTime;
    double baseFrequency;
};