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と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ケーブルのポート作成
プロパティファイルの設定
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)