自作ギターエフェクターの作り方を一覧で紹介自作エフェクトペダルの一覧ページから、好きな記事を探してみてください。ペダルを使用したオリジナル楽曲もあります。 |
MIDIは、40年以上前の1981年に公開された規格で、5ピンのDINコネクタで接続し、31.25Kbpsの低速なシリアル信号でデータを転送するものです。今となっては時代遅れのインタフェースですが、楽器や機材では、未だに標準的に使われています。
高機能なエフェクトペダルには、MIDI信号を受けて、プリセットやパラメータの切り替えが可能な機種があります。ハイエンドのスイッチャーにも、MIDI信号の出力機能を持つ物があり、エフェクタの接続切り替えに合わせてMIDI信号を送信し、例えばMIDI機能を持つデジタルディレイの遅延時間を変更する様なことができます。
そこで、MIDI信号を受けて内部のパラメータを変更できるエフェクトペダルを想定して、まず、ArduinoでMIDIインタフェースを作ってみようと思います。
Arduinoのボードには、Arduino MEGA 2560 の互換ボードを使用しました。これは単に純正のArduinoボードが高価だったためです。ほぼ半額でAmazonで売っていた「ELEGOO」のボードを使いました。私が使ってみた範囲では、純正に対して完全互換でした。
MEGA 2560には、シリアルポート(RX/TX)が3セット付いています。そのうちRX0/TX0は、プログラム転送などのPCとのインタフェースに使われているため、今回のMIDI信号の送受信には、RX1/TX1(Arduinoでは「Serial1」として定義されている)を使用しました。
今回は実現性の確認が目的なのでこのボードを使いましたが、実際にエフェクトペダルに組み込むときには、より小さいモジュールを使おうと思います。
MIDIの接続には5ピンのDINコネクタが使われています。MIDI信号の受信(RX)部分は、接続先の楽器や機材と電気的に絶縁する仕様になっています。そのため、一般にはオプトアイソレータ(フォトカプラ)を使って、電気的に切離す回路になっています。これは、電子楽器を相互に接続した際に、グランドループや信号のループができないように配慮されているためです。
下の図が、MIDI企画書に載っている標準回路の受信部分(MIDI-IN)です。電気的に内部とつながっていないことが分かると思います。
MIDI信号は低速であるため、フォトカプラは汎用品で十分に動きます。今回はたまたま通販で購入できた「TLP2630」を使いました。出力にオープンコレクターのトランジスタバッファが付いたもので、2回路入っていますが、1つしか使っていません。
MIDI企画書の標準回路をそのまま使用し、Arduino ボードの「RX1」に接続しました。
内部動作を確認するために、サンプルを変更し、MIDIのプログラムチェンジコマンド(0xC*、*はMIDIチャンネル)を受けたら、MIDIにある2つのパラメータのうち、1つ目の数値の回数分だけパルスを発生するテストプログラムを書いてみました。
Arduinoのソースコードは、こちらのページに掲載しています。参考にどうぞ。
MIDIのデータを簡単に送信できるPCのフリーソフト(Midi信号モニター&割り当て変更ツール)を使って、オーディオインタフェース(Steinberg UR22mkII)のMIDI-OUTから出力しました。
【送信したMIDI信号】
MESSAGE: 0xc0 → プログラムチェンジ(0xc0)
CHANNEL: 0x00 → MIDI Ch1
VALUE1: 005 → 第1パラメータ(5)
VALUE2: 000 → 第2パラメータ(未使用)
「Midi信号モニター&割り当て変更ツール」のMIDI信号送信機能
RX1(MIDIシリアル、黄)とA7(パルス出力、青)をオシロスコープでモニターした波形が以下のとおりです。送信した第1パラメータ「005」を受信して、5回パルスを発生させていることが分かります。
ここまでで、Arduinoを使えば、簡単に、スイッチャー等から送信されたMIDI信号を受けて、エフェクトペダルのパラメータを操作できることが確認できました。
今後は、別のページで紹介した「Arduino/ESP32C3でエフェクトペダルをWiFiコントロール」と合わせて、MIDI/WiFiコントロール可能なアナログディレイを作ってみようと企んでいます。
BBD以外のデバイスで、ディレイペダルに「PT2399」が使われ始めました。このチップは内部はデジタル処理されていますのでアナログではないのですが、最近ではBBDを使用したアナログディレイの代わりに、アナログっぽい音を出すICとして、各社のディレイペダルに使われています。
そこで、好きが高じて、4台目のディレイペダルになりますが、DM-3の回路をベースに、BBDをPT2399に変更し、V571を組み合わせて、昔のdbxやDolbyのノイズリダクションに似た音を出すディレイペダルを作ってみました。
■ノイズレス!ディレイペダル 手軽なディレイIC「PT2399」使用