Digital Synth VRA8-N(Arduino Uno用)

Created Date: 2020-01-13/ updated date: 2021-04-30
Owner & Collaborators
License
Summary
Arduino Unoの限界に挑戦する、Digital Synth VRA8シリーズ第6弾。8ビットCPUひとつで音を合成する、モノフォニック(単音)シンセサイザー(MIDI音源)です。スケッチはフリーで公開。Arduino Uno、抵抗、コンデンサ、オーディオジャックだけで作れます。ACアダプターやMIDIシールドの使用で音質アップ。ゲーム機や楽器に組込むことも可能です。

Materials

    Tools

      Blueprints

        Making

        • 推奨回路
          • 図を参照(RC回路による1次LPFで、PWM出力をなまらせている)

          概要
          • USBケーブルでPCと接続し、USBシリアルで制御(38400 bps)
          • D6ピンから62.5 kHzの単極PWMで、ラインレベルのオーディオ出力(スケッチで#define SUBSTITUTE_PIN_D5_FOR_D6_AS_AUDIO_OUTを有効にすると、D5ピンから出力)
          • USBからのノイズを減らすため、ACアダプターの使用を推奨

          部品リスト
          • A1:Arduino Uno Rev3
          • U1:オーディオジャック(3.5 mm)
          • R1:100Ω抵抗
          • R2:100Ω抵抗
          • C1:100 nFコンデンサ
          • ジャンパー線
            • オーディオジャックは、写真のような「ネジ止め式」の変換アダプタータイプがオススメ(ハンダ付け不要)
            • 以下の設定で、MIDIシールドも使用可能(写真ではMIDIブレークアウトを使用)
            • USBのノイズを排除でき、音質もアップ
            • スケッチで#define SUBSTITUTE_PIN_D5_FOR_D6_AS_AUDIO_OUTを有効にして、D5ピンからオーディオ出力
            • #define LFO_LED_OUT_ACTIVE (LOW)  と書き換えて、D6ピンで制御するLFO表示LED用に極性を修正
            • 何らかの方法で、Arduinoからオーディオ出力とGNDを引き出す(写真ではネジシールドを使用)
            • スケッチで#define SERIAL_SPEED (31250) を有効にして、MIDIで制御
          • 配線
            • D6(またはD5)ピンを、ジャックのチップに直結
            • GNDピンを、ジャックのスリーブに直結

            説明
            • これだけで動作するが、RC回路によるLPFがないので、アンプやスピーカーによってはPWM出力が原因の「ピー」という音が目立つかもしれない
            • オーディオ出力は、アンプ、アクティブスピーカー、オーディオインターフェース等に接続すること(パッシブスピーカーやヘッドフォンに直接接続すると、出力電流が最大定格を超える可能性が高い)
            • USBからのノイズを減らすため、ACアダプター使用を推奨
            • 正常動作のために、Arduino IDE 1.8.5、正確にはArduino AVR Boardsコア1.6.20の使用を強く推奨(複数のバージョンのArduino IDEをインストールしておくと便利)
            • ただし、macOS Catalina 10.15ではこれを使用できないので、Arduino IDE 1.8.10以降でAVR Boardsコア1.8.1を使用する(プログラムサイズを減らすため、"osc-table.h" を削除し、"osc-table.h.REDUCE_OSC_TABLE_SIZE_1.txt" を "osc-table.h" にファイル名を変更する必要がある)
        Add Card Order

        References

          Usages

          • 制御用アプリVRA8-N CTRLの使い方

            1. "vra8-n-ctrl.html" をGoogle Chromeで開く
            2. MIDIキーボード等を接続している場合、MIDI IN 1と2でそれらを選択
            3. MIDI OUTでloopMIDI Portを選択(MIDIシールドを使用する場合は、PCに接続しているMIDIインターフェースを選択)
            4. 一番下のソフトウェアキーボードをクリック(タッチ)すると、音が出る
            5. その他、各種コントローラーの調整やプリセット音色の選択が可能(対応コントロールチェンジ番号は "README.md" を参照)

          Project comments