YMF825board+Arduino 導入編

YMF825board+ArduinoUNO R3、なんとか形になったので公開します。

 

YMF825boardはYAMAHAのFM音源Chipを扱いやすいように小型ボードに搭載したものです

詳しくはこちら

これをArduinoUno(R3)で16音ポリモードのMIDI音源化してみました。

 

構成

 

MIDIシーケンサソフト等(USBMIDIデバイス)とToneEditorを仮想MIDIケーブル

(LoopMIDI等)で接続。

ToneEditorはパラメータの変更情報等をシステムエクルシーブメッセージを利用した

7バイトのコマンドとして送りかつUSB_MIDIシリアルブリッジ(Baud Rate 2M)としても働き

Ymf825+ArduinoはToneEditorから送られ来るMIDIデータを解釈してYMF825を鳴らします。

 

MIDI音源として

16chモノ発声、16音ポリ、2音同時発声の8音ポリ

  • PitchBend
  • Velocity
  • Hold
  • Expression
  • Modulation
  • PartLevel

をサポート、詳しくはREADME.md見て下さい。

 

ブリッジ用のMIDIポート、ArduinoのCOMポート、COMポートの接続速度等の設定は

プロパティファイルymf825.properties で指定します。

 

導入

YMF825とArduinoの接続
本家YMF825サイトの接続例そのままにArduinoとYMF825boardを接続。
 RST_N- Pin9   
 SS   - Pin10
 MOSI - Pin11
 MISO - Pin12
 SCK  - Pin13
スケッチのコンパイル

GitHub  YMF825MIDI_CONTROL_for_Arduino より

右上にある[Clone or download]->[Download ZIP] でダウンロードしたファイルを解凍し

ymf825borad_sample4ディレクトリのYmf825board_sample4.inoを読み込み

コンパイルしてArduinoへ書きこみます。

仮想MIDIケーブルのポート作成

仮想MIDIケーブルソフトのLoopMIDI をインストールして接続ポート「Trans」を作成します

 

プロパティファイルの設定

toneEditorディレクトリ内の ymf825.propertiesファイルを編集し

Arduinoが使用しているCOMポートを指定します。

<ymf825.properties>
midiStreamDeviceName=Trans
midiComPort=COM9     //Arduinoが使用しているCOMポート
baudRate=2000000

プロパテイファイルはToneEditorと同一ディレクトリに置いて下さい。

これでJavaの実行形式jarファイル「YMF825arduinoSerBridge.jar」を起動させ

お好きなMIDIアウトデバイスの出力先を「Trans」に指定します。

 

これでBankSelect1でTrack10のリズムトラック未サポートのGM音源もどきになります

StdMIDIとDomino用のサンプルデータを/toneEditor/sampleDataに置いていますので

試しに鳴らしてみて下さい。

 

ToneEditor編へ続く。

 

サンプルデータの演奏例 sample(YouTube)