工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

デジタルオルガンのためのMIDI

コンポーネントと消耗品

>
Arduino Mega 2560
× 1
DINミディプラグ
× 1
抵抗220オーム
× 1
USB-AからBへのケーブル
× 1
AWMケーブル
× 1
>
オスヘッダー40位置1行(0.1 ")
× 1
ポテンショメータ、スライド
10Kリニア
× 1
IDCソケット
(オプション)
× 1
オス/オスジャンパー線
(オプション)
× 1

必要なツールとマシン

>
はんだごて(汎用)
はんだワイヤー、鉛フリー
はんだフラックス、はんだ付け
ワイヤーストリッパー、鋸歯状のペンチノーズ
プライヤー、サイドカッティング
プライヤー、フラットノーズ

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

このプロジェクトでは、古いオルガンコンソールを変換して、単一のArduinoMegaを使用してマニュアルやペダルからハードウェアMIDIメッセージを送信できるようにする方法を示します。

このプロジェクトは、元のサウンド生成がそのままの状態でMIDIメッセージを送信する試みとして開始されましたが、元の回路をリバースエンジニアリングすることは非常に困難でした。コードに時間を費やした後、バスタイプのマニュアルとマトリックスタイプのマニュアルの両方のコードを開発しました。

注:

  • このプロジェクトは、元のキーボード切り替えが機能しなくなるようにオルガンを変更します。
  • 古い器官の中には、危険な可能性のある電気部品があります。常にプラグを抜いた状態で作業し、このプロジェクトに安全に取り組むための経験とスキルを持っていることを確認してください。疑問がある場合は、このプロジェクトを試みる前に、資格のある地元の電子技術者に相談してください。
  • 古い臓器内のコンポーネントは非常に古く、誤動作の危機に瀕していることが多いため、変更を加えると臓器が損傷する可能性があります。ここに記載されている指示に従うことはユーザーの自己責任で行われ、この記事の著者は、これらの指示に従おうとした結果として臓器、機器、または人に生じたいかなる損害についても責任を負いません。

ステップ1:臓器を調べる

  • 私の最初に投稿されたコードは、変更したいオルガンに、ディスクリートスイッチとダイオードがすでに配置されたマトリックスキーボードがすでにあることを前提としています。その最初のバージョンを投稿して以来、私はバスキーボードのデザインで動作するコードも開発しました。指示に従って、該当するバージョンのコードを使用してください(MatrixedとBussed)。ただし、どちらの設計でも、すべてのスイッチにダイオードを接続する必要があります。これらは安価に入手できます。ただし、Arduino Megaにアップロードされるコードは、マトリックスデザインとバスデザインで異なります。
  • この例でミディファイされた特定のオルガンには、キーボード用のノーマルオープン(NO)スイッチと、ペダル用のノーマルクローズスイッチ(NC)があります。マルチメーターを使用して、変換しようとしているオルガンのスイッチの種類を確認できます。スイッチの種類がこのオルガンで行われたものと異なる場合は、スイッチの種類に合わせてコードを変更する必要があります(コードに示されている例)
  • オルガンを開いてキーボードとペダルボードの接点にアクセスする方法を見つけ、オルガン内にArduinoを取り付けるのに適した場所を探します。 Arduinoに電力を供給し、Midiプラグを取り付けるために、ドリルで穴を開けたり、プラグを取り付けたりする必要がある場合があります。この例では、Arduinoに電力を供給するために、3極電源プラグが臓器内の小さな電源ボックスに配線され、穴が開けられ、MidiDINプラグが穴に取り付けられました。
  • ここに示されている特定のオルガンには、6x11マトリックスの2つのキーボードと、6x7マトリックスのペダルボードがありました。マトリックスルートを計画していて、特定の臓器にすでに8x8マトリックスがある場合は、コードと配線を8x8マトリックスに合わせて変更するか、元のマトリックスを再配線して6x11マトリックスをサポートする必要があります。

ステップ2:Arduinoを接続する

-私のArduinoMegaには、オルガンの木に取り付けるための小さなプラスチックプレートが付属していました。小さな#4木ネジと#4小ネジでArduinoをプレートに取り付けました。 Arduinoを最初に配置して、各ケーブルに必要な長さを見積もることができるようにすることをお勧めします。この時点で、Arduinoに電力を供給する方法も見つけることができます。

ステップ3:ケーブルを準備する

マトリックスキーボード:

各キーボードには61個のスイッチがあります。ここで使用した例では、各キーボードに6列あり、すべてのスイッチの最初の端子から6スイッチ離れた他のすべてのスイッチの最初の端子に配線されています。次に、スイッチの2番目の端子はダイオードに接続され、次に列に接続されました。この列のスイッチは、マニュアル用に11列、ペダル用に7列に分割されていました。マニュアルとペダルごとに、推奨されるAWMワイヤーの2つの長さをカットして、各部門からArduinoボードに到達するようにする必要があります。できれば、きちんと整理できるパスをたどり、常に必要以上の余裕を残してください。コラムの場合、Arduinoに接続する前に、ケーブルをキーボードまたはペダルボードの長さに延長することをお勧めします。ケーブルの各長さを測定し、サイズにカットします。小さなニッパーを使用して、ケーブルの個々のストランドの端を分離し、ワイヤーストリッパーを使用してワイヤーの端からプラスチックカバーをはがします。

バスキーボード:

キーボードは6本のAWMケーブルに分割でき、61番目のスイッチには通常のワイヤーが使用されます。ケーブルの個々のストランドを両端で分離し、ワイヤーストリッパーを使用して両端を覆っているプラ​​スチックをはがします。

ステップ4:ケーブルの端をオスヘッダーにはんだ付けします

マトリックスキーボードとバスキーボードの両方:適切なケーブルの端をオスのヘッダーピンにはんだ付けするか、ネジ留め式端子台を使用している場合は、適切なケーブルをネジ留め式端子に接続します。

<図>

ステップ5:ケーブルのもう一方の端をスイッチにはんだ付けします

マトリックスキーボード:

-オルガンにすでに各接点が配線されている場合、このプロジェクトを機能させるには、元の配線をはんだ除去またはクリップする必要があります。オルガンに6x11のマトリックスがある場合は、各スイッチから次のスイッチ6までの列のワイヤーを保持するのが理にかなっています。したがって、6本の最初のセットから元のコンピューターに接続されている列ワイヤーを取り外し、6本の列ワイヤーを他の6本があった位置にはんだ付けします。カラムの場合、すでにダイオードが配置されている場合は、ダイオードのもう一方の端から元のコンピューターにつながるリード線をクリップまたははんだ除去してから、代わりにArduinoにつながるカラムリード線をはんだ付けします。プラスチック製のケーブルタイを使用すると、ケーブルを整理して、オルガン内の他のケーブルが通る場所に沿ってきれいに配線できます。上の写真のオルガンのペダルボードの場合、リードスイッチを含むオルガンの前面のパネルは、それを固定しているネジを外して取り外す必要があり、ケーブルは前面パネルの中央にある小さな穴に通されていました。オルガン。

バスキーボード:

バスキーボードコードでは、各スイッチの非バス側にダイオードをはんだ付けし、これをケーブルの10本のワイヤの1つにはんだ付けし、6本のケーブルごとに繰り返し、最後のワイヤに対して繰り返す必要があります。 (#61)

ステップ6:抵抗をMIDIプラグにはんだ付けし、他のリード線をArduinoにはんだ付けします。

<図>

ステップ7:ヘッダーをArduinoに接続する

-回路図に示すように、すべてのヘッダーをArduinoに接続します。

-オスヘッダーにワイヤーをはんだ付けする別の解決策は、10ピンIDCソケットを購入し、これらをAWMケーブルの端に接続してから、オス-オスジャンパーを使用してArduinoに接続することです。この解決策ははんだ付けほど永続的ではありませんが、再配線が必要な場合に備えて、投稿されたコードを変更してみる場合はお勧めします。

ステップ8:ソフトウェアをArduinoにアップロードする

-USBケーブルをArduinoからコンピューターに接続し、Arduinoソフトウェアがコンピューターにインストールされていることを確認します。自分に適用されるコードのバージョンを選択します(MatrixedとBussed)。 Arduinoソフトウェアを実行し、提供されたコードをコピーして新しい空白のスケッチに貼り付けます。 ArduinoがUSBシリアル経由で接続されていることを確認し、スケッチの上部にある[アップロード]ボタンをクリックします。

ステップ9:テスト

  • まだ行っていない場合は、MIDIアダプターをコンピューターに接続し、オルガンMIDI出力をMIDIアダプターに接続します。
  • ソフトウェアを使用してMIDI信号を監視し、キーを押したときに各キーとペダルが適切なMIDIメッセージを送信することを確認し、各キーを押します。
  • コンピュータに接続せずに使用する場合は、Arduinoの電源ポートに小さな5V電源を接続するか、使用したUSBケーブルの端にUSB電源プラグを接続して接続します。 Arduinoに電力を供給するために壁のコンセントに接続します。

注:

  • バスキーボード用に投稿されたコードはまだテストされていませんが、機能することが期待されています。バスコードを試し、問題が見つかった場合は、コメントに投稿してください。
  • バスバージョンのコードでは、正しく機能するためにダイオードが必要であることに注意してください。また、ダイオードをスイッチにはんだ付けする場合は、負極をスイッチに向けてダイオードをはんだ付けすることが重要です。マトリックス設計の場合、ダイオードの負極はスイッチから離れている必要があります。
  • バスデザインを追加するほかに、元のデザインとコードを更新して、エクスプレッションペダルで使用されるようなポテンショメータを含めました。
  • バスデザインがピン13で正しく機能するには、Arduinoの内蔵LEDをなんらかの方法で無効にする必要があります。これを行うには、2つのはんだごてを使用して取り外すか、先端の細いペンチを使用して慎重に押しつぶします。
  • バスデザインは、バスキーボードを備えた多くのオルガンで機能しますが、バスが「リン青銅」素材でできている場合は、確実に機能しない可能性があります。 1つのマニュアルのすべてのバスを一緒に配線し、1つのキーのすべての接点を一緒に配線すると、断続的な接触を防ぐのに役立ちますが、リン青銅のバスバーの場合は、12Vキーイングを使用することをお勧めします(このプロジェクトでは不可能です)する)。

ポテンショメータ用の式ペダルハードウェア

<図>

将来的にはこれについてさらに詳しく説明したいと思いますが、とりあえず上記のデザインについて簡単に説明します。エクスプレッションペダルへの接続は、地元の金物店で入手できる安価な「L」ブラケットです。ここでは既存のブラケットに接続されていますが、ペダルに直接取り付けられた2番目のLブラケットも使用できます。ロックナットと2つのワッシャーを使用してわずかに緩められた小ネジで関節運動します。写真では非常に長い小ネジを使用しましたが、それほど長いものは必要なく、たまたま手元にあったものでした。金属棒は「JB溶接」で一方の端にアイボルトを取り付け、もう一方の端の「L」ブラケットには適切なサイズの小ネジを使用して取り付けました。

ポテンショメータマウント自体については、透明なアクリルシートを購入し、ホビーナイフで切り込みを入れてから、ペンチとクランプを使用してラインに沿ってそれらを切り離しました。ポテンショメータを取り付けるために、小さなアクリル片を作って大きい方の部分から持ち上げ、小さい方のアクリル片の表面を研磨し、取り付けられるポテンショメータの表面を研磨し、大きい方の部品の表面をこれをすべて取り付けてから、JB溶接を適用し、小さなクランプを使用して、JB溶接が乾くまですべてをまとめました。アクリル片の穴は、電気ドリルと標準のドリルビットで開けられました。

大きなアクリル片の底は#4小ネジを使用して小さな家具のヒンジに固定され、家具のヒンジのもう一方の端は短い#4木ネジを使用してオルガンの下部に取り付けられています。家具の蝶番を木の床から離すためにアクリル製のブラケットを作りましたが、家具の蝶番のデザインによっては、それが必要ない場合もあります。

ロッドがスライドする白いブロックは、ロボット部品サプライヤーから購入したPFTEブロックです。ホビーソーを使用して大きなピースを切り取り、電気ドリルと異なるサイズのドリルビットを使用して3つの穴を開けました。 PFTEブロックは小ネジを使用してアクリルブラケットに取り付けられました。

エクスプレッションペダルブラケットの詳細な手順:

(2021年12月9日更新)

-8x10インチのアクリルシート

-テフロンブロック

-アルミニウムロッド(1/4インチ、地元のハードウェアまたは金属店で入手可能)

-JB溶接

-線形ポテンショメータ

-小さな家具のヒンジ

-小さな家具ブレース

-小さなアイボルト

-短い#4木ネジ

-各種ハードウェア:

-ワッシャーX1(できればテフロン)とマッチング小ネジをロックしてペダルに取り付けます(現在のペダルに一致する直径と長さ)

-テフロンをアクリルシートに取り付けるための小ネジx2、ワッシャーx4、ナットx2(直径と長さはドリルで開けた穴の直径によって異なります)

-ブレースを1/4アルミニウムロッドに取り付けるための小ネジ(内部の穴のサイズに応じた直径)

-アクリルシートの底にヒンジを取り付けるための小ネジx2、ワッシャーx4、ナットx2。

ツール:

-ホビーナイフ

-直定規

-宝石用ドライバー/通常のドライバー(最小のネジ用の宝石商)

-モンキーレンチ(小ネジとナットを締めるため)

-ペンチ

-電気ドリルとドリルビット。

-ホビーソー

-ベンチトップバイス

-小さな木製クランプ

-ファイングリットサンドペーパー

-アイスキャンデーの棒と段ボールのスクラップ。

-湿らせた布

手順:

-現在のペダルを調べます。取り付けブラケットに予備の穴がある場合はそれを使用できます。そうでない場合は、使用中の既存の穴を使用して、現在の穴よりも長い小ネジを入手できますが、それでも穴にはまります。

-オルガンの木製ベースにコンポーネントや電子機器がないことを確認し、必要に応じて移動します。

-アクリルシートの包装を解き、直定規とホビーナイフを使用して、シートの両側を3 "x 4.5"の長方形に切り込み、スコアラインに沿ってひびを入れ、ベンチトップバイスとペンチを使用して切り取ります(必ず目の保護を使用するために!)。また、3 "x 0.5"のピース、および2.4 "x0.3"のピースをカットします。

-ホビーソーを使用してテフロンブロックを端から約3/4インチ切り取り、3インチx1.5インチx3 / 4インチのブロックを作成します。

-大きなアクリルシートの下端に沿って家具のヒンジの片側と一致するように2つの穴を開け、テフロンブロックの3x1.5インチ側に2つの穴を開けて、経路の邪魔にならないようにします。アルミロッドがそれを通り抜けます。ブロックが大きなアクリルシートの上部に配置されている場合は、テフロンブロックの端がアクリルの端にある状態で、前にドリルで開けた穴の反対側に、テフロンブロックの穴と一致する2つの穴を開けます。また、ヒンジの反対側の穴と一致するように、2.4インチ×0.3インチのピースに2つの穴を開けます。

-ポテンショメータの片面、接着する大きなアクリルシートの領域、および3x0.5インチのアクリル片の両面をそっと研磨します。湿らせた布で表面を拭き取ります。

-アイスキャンデーの棒を使用していくつかのスクラップ段ボールにJB溶接を混合し、次にアクリルシートの準備された表面に適用します。 3x0.5インチの部品を追加し、次にJB溶接を追加し、次にポテンショメータを追加して、JB溶接が研磨された表面に取り付けられていることを確認します。小さな木製のクランプでアセンブリをそっとクランプし、24時間放置して硬化させます。

-テフロンブロックの一方の3 / 4x3インチ側からもう一方の側にブロック内にある間にビットを動かして、1/4インチのドリルビットを使用して1/4インチより少し大きい穴を開けます。アルミロッドの線がポテンショメータの動きの線と一致するようにドリルで穴を開けます。

-1/4インチのアルミニウム棒を、完全に押し下げたときにポテンショメータの下部からエクスプレッションペダルまでほぼ正しい長さになるように切断します。

-JB溶接が硬化したら、小ネジ、ワッシャー、ナットを使用して、ヒンジとテフロンブロックを大きなアクリルプレートの側面に取り付けます。ポテンショメータの可動部分にアイボルトを取り付け、テフロンブロックを通過する1/4インチのアルミニウムロッドに取り付けます。はめあいが少し緩い場合は、前の手順でJB溶接を適用するときに、アイボルトをアルミニウムロッドにJB溶接することもできます。その場合は、ポテンショメータにアイボルトを取り付け、テフロンブロックに通してから、小ネジでテフロンブロックをアクリル板に取り付けます。

-ペンチでアイボルトを正しい位置に保持し、正しいサイズの小ネジを使用して、家具ブレースを1/4インチのアルミニウムロッドのもう一方の端に取り付けます。アイボルトを締めるときは、アイボルトが家具ブレースに対して正しい方向にあることを確認してください。

-ポテンショメータのブラケットに空き穴がある場合は、新しい小ネジを挿入し、テフロンロックワッシャーを装着して、家具のブラケットが自由に動くまで締めます。以前の小ネジで現在使用されている既存の穴を使用する場合は、古いネジを取り外し、新しい長いネジを入れて前と同じように取り付け、余分な長さに家具ブラケットとテフロンロックワッシャーを追加します。

-ヒンジの下部をオルガンの内側の下部で前後に動かして、1/4インチのアルミニウム棒がまっすぐに並ぶ位置になり、最小のアクリルプレートが所定の位置にある状態でペダルを動かします。ポテンショメータの動きを最もよく近似します。ポテンショメータマウントの下部を2本の小さな木ネジを使用して臓器の下部に取り付け、アクリルプレートがヒンジと木材の間にあることを確認します(これにより、ヒンジが適切に移動します)。

最後の注意:

Arduino Project Hubには、ここに投稿や質問の通知がないようです。質問へのより迅速な回答をご希望の場合は、このフォーラムページに投稿してください。通知が届きます。

コード

  • マトリックス化されたキーボードコード
  • Bussedキーボードコード
マトリックスキーボードコード Arduino
マトリックスキーボードの回路図に従っているときにArduinoにアップロードするコード。
 //名前:Arduino Mega Midi Controller v21 //作成日:2021年2月4日//作成者:Larason2 //謝辞:Bald Engineer、Amanda Ghassaei、jeffb42 、GrumpyMikebyte keysA [11] [6]; byte keysB [11] [6]; byte keysC [7] [6]; byte lastA [11] [6]; byte lastB [11] [6]; byte lastC [7 ] [6]; int noteOn1 =144; int noteOff1 =128; int noteOn2 =145; int noteOff2 =129; int noteOn3 =146; int noteOff3 =130; int速度=100; int chan6 =181; int chan7 =182; int Exp =11; int LastPot6 =1; int LastPot7 =1; void setup(){//シリアルSerial.begin(31250);を開始します。 //キーボードAを初期化しますpinMode(2、INPUT); pinMode(22、INPUT); pinMode(24、INPUT); pinMode(26、INPUT); pinMode(28、INPUT); pinMode(30、INPUT); pinMode(32、INPUT); pinMode(34、INPUT); pinMode(36、INPUT); pinMode(38、INPUT); pinMode(40、INPUT); pinMode(42、INPUT); pinMode(44、INPUT); pinMode(46、INPUT); pinMode(48、INPUT); pinMode(50、INPUT); pinMode(52、INPUT); //キーボードBを初期化しますpinMode(3、INPUT); pinMode(23、INPUT); pinMode(25、INPUT); pinMode(27、INPUT); pinMode(29、INPUT); pinMode(31、INPUT); pinMode(33、INPUT); pinMode(35、INPUT); pinMode(37、INPUT); pinMode(39、INPUT); pinMode(41、INPUT); pinMode(43、INPUT); pinMode(45、INPUT); pinMode(47、INPUT); pinMode(49、INPUT); pinMode(51、INPUT); pinMode(52、INPUT); //キーボードCを初期化しますpinMode(A2、INPUT); pinMode(A3、INPUT); pinMode(A4、INPUT); pinMode(A5、INPUT); pinMode(A6、INPUT); pinMode(A7、INPUT); pinMode(A8、INPUT); pinMode(A9、INPUT); pinMode(A10、INPUT); pinMode(A11、INPUT); pinMode(A12、INPUT); pinMode(A13、INPUT); pinMode(A14、INPUT);} void loop(){//キーボードAを読み取るpinMode(22、INPUT_PULLUP); pinMode(24、INPUT_PULLUP); pinMode(26、INPUT_PULLUP); pinMode(28、INPUT_PULLUP); pinMode(30、INPUT_PULLUP); pinMode(2、INPUT_PULLUP); pinMode(32、OUTPUT); digitalWrite(32、LOW); keysA [0] [0] =digitalRead(2); pinMode(32、INPUT); pinMode(34、OUTPUT); digitalWrite(34、LOW); keysA [1] [0] =digitalRead(22); keysA [1] [1] =digitalRead(24); keysA [1] [2] =digitalRead(26); keysA [1] [3] =digitalRead(28); keysA [1] [4] =digitalRead(30); keysA [1] [5] =digitalRead(2); pinMode(34、INPUT); pinMode(36、OUTPUT); digitalWrite(36、LOW); keysA [2] [0] =digitalRead(22); keysA [2] [1] =digitalRead(24); keysA [2] [2] =digitalRead(26); keysA [2] [3] =digitalRead(28); keysA [2] [4] =digitalRead(30); keysA [2] [5] =digitalRead(2); pinMode(36、INPUT); pinMode(38、OUTPUT); digitalWrite(38、LOW); keysA [3] [0] =digitalRead(22); keysA [3] [1] =digitalRead(24); keysA [3] [2] =digitalRead(26); keysA [3] [3] =digitalRead(28); keysA [3] [4] =digitalRead(30); keysA [3] [5] =digitalRead(2); pinMode(38、INPUT); pinMode(40、OUTPUT); digitalWrite(40、LOW); keysA [4] [0] =digitalRead(22); keysA [4] [1] =digitalRead(24); keysA [4] [2] =digitalRead(26); keysA [4] [3] =digitalRead(28); keysA [4] [4] =digitalRead(30); keysA [4] [5] =digitalRead(2); pinMode(40、INPUT); pinMode(42、OUTPUT); digitalWrite(42、LOW); keysA [5] [0] =digitalRead(22); keysA [5] [1] =digitalRead(24); keysA [5] [2] =digitalRead(26); keysA [5] [3] =digitalRead(28); keysA [5] [4] =digitalRead(30); keysA [5] [5] =digitalRead(2); pinMode(42、INPUT); pinMode(44、OUTPUT); digitalWrite(44、LOW); keysA [6] [0] =digitalRead(22); keysA [6] [1] =digitalRead(24); keysA [6] [2] =digitalRead(26); keysA [6] [3] =digitalRead(28); keysA [6] [4] =digitalRead(30); keysA [6] [5] =digitalRead(2); pinMode(44、INPUT); pinMode(46、OUTPUT); digitalWrite(46、LOW); keysA [7] [0] =digitalRead(22); keysA [7] [1] =digitalRead(24); keysA [7] [2] =digitalRead(26); keysA [7] [3] =digitalRead(28); keysA [7] [4] =digitalRead(30); keysA [7] [5] =digitalRead(2); pinMode(46、INPUT); pinMode(48、OUTPUT); digitalWrite(48、LOW); keysA [8] [0] =digitalRead(22); keysA [8] [1] =digitalRead(24); keysA [8] [2] =digitalRead(26); keysA [8] [3] =digitalRead(28); keysA [8] [4] =digitalRead(30); keysA [8] [5] =digitalRead(2); pinMode(48、INPUT); pinMode(50、OUTPUT); digitalWrite(50、LOW); keysA [9] [0] =digitalRead(22); keysA [9] [1] =digitalRead(24); keysA [9] [2] =digitalRead(26); keysA [9] [3] =digitalRead(28); keysA [9] [4] =digitalRead(30); keysA [9] [5] =digitalRead(2); pinMode(50、INPUT); pinMode(52、OUTPUT); digitalWrite(52、LOW); keysA [10] [0] =digitalRead(22); keysA [10] [1] =digitalRead(24); keysA [10] [2] =digitalRead(26); keysA [10] [3] =digitalRead(28); keysA [10] [4] =digitalRead(30); keysA [10] [5] =digitalRead(2); pinMode(52、INPUT); pinMode(22、INPUT); pinMode(24、INPUT); pinMode(26、INPUT); pinMode(28、INPUT); pinMode(30、INPUT); pinMode(2、INPUT); //キーボードBを読み取りますpinMode(23、INPUT_PULLUP); pinMode(25、INPUT_PULLUP); pinMode(27、INPUT_PULLUP); pinMode(29、INPUT_PULLUP); pinMode(31、INPUT_PULLUP); pinMode(3、INPUT_PULLUP); pinMode(33、OUTPUT); digitalWrite(33、LOW); keysB [0] [0] =digitalRead(3); pinMode(33、INPUT); pinMode(35、OUTPUT); digitalWrite(35、LOW); keysB [1] [0] =digitalRead(23); keysB [1] [1] =digitalRead(25); keysB [1] [2] =digitalRead(27); keysB [1] [3] =digitalRead(29); keysB [1] [4] =digitalRead(31); keysB [1] [5] =digitalRead(3); pinMode(35、INPUT); pinMode(37、OUTPUT); digitalWrite(37、LOW); keysB [2] [0] =digitalRead(23); keysB [2] [1] =digitalRead(25); keysB [2] [2] =digitalRead(27); keysB [2] [3] =digitalRead(29); keysB [2] [4] =digitalRead(31); keysB [2] [5] =digitalRead(3); pinMode(37、INPUT); pinMode(39、OUTPUT); digitalWrite(39、LOW); keysB [3] [0] =digitalRead(23); keysB [3] [1] =digitalRead(25); keysB [3] [2] =digitalRead(27); keysB [3] [3] =digitalRead(29); keysB [3] [4] =digitalRead(31); keysB [3] [5] =digitalRead(3); pinMode(39、INPUT); pinMode(41、OUTPUT); digitalWrite(41、LOW); keysB [4] [0] =digitalRead(23); keysB [4] [1] =digitalRead(25); keysB [4] [2] =digitalRead(27); keysB [4] [3] =digitalRead(29); keysB [4] [4] =digitalRead(31); keysB [4] [5] =digitalRead(3); pinMode(41、INPUT); pinMode(43、OUTPUT); digitalWrite(43、LOW); keysB [5] [0] =digitalRead(23); keysB [5] [1] =digitalRead(25); keysB [5] [2] =digitalRead(27); keysB [5] [3] =digitalRead(29); keysB [5] [4] =digitalRead(31); keysB [5] [5] =digitalRead(3); pinMode(43、INPUT); pinMode(45、OUTPUT); digitalWrite(45、LOW); keysB [6] [0] =digitalRead(23); keysB [6] [1] =digitalRead(25); keysB [6] [2] =digitalRead(27); keysB [6] [3] =digitalRead(29); keysB [6] [4] =digitalRead(31); keysB [6] [5] =digitalRead(3); pinMode(45、INPUT); pinMode(47、OUTPUT); digitalWrite(47、LOW); keysB [7] [0] =digitalRead(23); keysB [7] [1] =digitalRead(25); keysB [7] [2] =digitalRead(27); keysB [7] [3] =digitalRead(29); keysB [7] [4] =digitalRead(31); keysB [7] [5] =digitalRead(3); pinMode(47、INPUT); pinMode(49、OUTPUT); digitalWrite(49、LOW); keysB [8] [0] =digitalRead(23); keysB [8] [1] =digitalRead(25); keysB [8] [2] =digitalRead(27); keysB [8] [3] =digitalRead(29); keysB [8] [4] =digitalRead(31); keysB [8] [5] =digitalRead(3); pinMode(49、INPUT); pinMode(51、OUTPUT); digitalWrite(51、LOW); keysB [9] [0] =digitalRead(23); keysB [9] [1] =digitalRead(25); keysB [9] [2] =digitalRead(27); keysB [9] [3] =digitalRead(29); keysB [9] [4] =digitalRead(31); keysB [9] [5] =digitalRead(3); pinMode(51、INPUT); pinMode(53、OUTPUT); digitalWrite(53、LOW); keysB [10] [0] =digitalRead(23); keysB [10] [1] =digitalRead(25); keysB [10] [2] =digitalRead(27); keysB [10] [3] =digitalRead(29); keysB [10] [4] =digitalRead(31); keysB [10] [5] =digitalRead(3); pinMode(53、INPUT); pinMode(23、INPUT); pinMode(25、INPUT); pinMode(27、INPUT); pinMode(29、INPUT); pinMode(31、INPUT); pinMode(3、INPUT); //キーボードCを読み取ります//行ピンを読み取りに設定しますpinMode(A3、INPUT_PULLUP); pinMode(A4、INPUT_PULLUP); pinMode(A5、INPUT_PULLUP); pinMode(A6、INPUT_PULLUP); pinMode(A7、INPUT_PULLUP); pinMode(A2、INPUT_PULLUP); pinMode(A8、OUTPUT); digitalWrite(A8、LOW); keysC [0] [0] =digitalRead(A2); pinMode(A8、INPUT); pinMode(A9、OUTPUT); digitalWrite(A9、LOW); keysC [1] [0] =digitalRead(A3); keysC [1] [1] =digitalRead(A4); keysC [1] [2] =digitalRead(A5); keysC [1] [3] =digitalRead(A6); keysC [1] [4] =digitalRead(A7); keysC [1] [5] =digitalRead(A2); pinMode(A9、INPUT); pinMode(A10、OUTPUT); digitalWrite(A10、LOW); keysC [2] [0] =digitalRead(A3); keysC [2] [1] =digitalRead(A4); keysC [2] [2] =digitalRead(A5); keysC [2] [3] =digitalRead(A6); keysC [2] [4] =digitalRead(A7); keysC [2] [5] =digitalRead(A2); pinMode(A10、INPUT); pinMode(A11、OUTPUT); digitalWrite(A11、LOW); keysC [3] [0] =digitalRead(A3); keysC [3] [1] =digitalRead(A4); keysC [3] [2] =digitalRead(A5); keysC [3] [3] =digitalRead(A6); keysC [3] [4] =digitalRead(A7); keysC [3] [5] =digitalRead(A2); pinMode(A11、INPUT); pinMode(A12、OUTPUT); digitalWrite(A12、LOW); keysC [4] [0] =digitalRead(A3); keysC [4] [1] =digitalRead(A4); keysC [4] [2] =digitalRead(A5); keysC [4] [3] =digitalRead(A6); keysC [4] [4] =digitalRead(A7); keysC [4] [5] =digitalRead(A2); pinMode(A12、INPUT); pinMode(A13、OUTPUT); digitalWrite(A13、LOW); keysC [5] [0] =digitalRead(A3); keysC [5] [1] =digitalRead(A4); keysC [5] [2] =digitalRead(A5); keysC [5] [3] =digitalRead(A6); keysC [5] [4] =digitalRead(A7); keysC [5] [5] =digitalRead(A2); pinMode(A13、INPUT); pinMode(A14、OUTPUT); digitalWrite(A14、LOW); keysC [6] [0] =digitalRead(A3); pinMode(A14、INPUT); pinMode(A3、INPUT); pinMode(A4、INPUT); pinMode(A5、INPUT); pinMode(A6、INPUT); pinMode(A7、INPUT); pinMode(A2、INPUT); //キーボードCデータを反転します//(通常は閉じているスイッチの場合)//列1 if(keysC [0] [0] ==0){keysC [0] [0] =1; } else if(keysC [0] [0] ==1){keysC [0] [0] =0; } //列2if(keysC [1] [0] ==0){keysC [1] [0] =1; } else if(keysC [1] [0] ==1){keysC [1] [0] =0; } if(keysC [1] [1] ==0){keysC [1] [1] =1; } else if(keysC [1] [1] ==1){keysC [1] [1] =0; } if(keysC [1] [2] ==0){keysC [1] [2] =1; } else if(keysC [1] [2] ==1){keysC [1] [2] =0; } if(keysC [1] [3] ==0){keysC [1] [3] =1; } else if(keysC [1] [3] ==1){keysC [1] [3] =0; } if(keysC [1] [4] ==0){keysC [1] [4] =1; } else if(keysC [1] [4] ==1){keysC [1] [4] =0; } if(keysC [1] [5] ==0){keysC [1] [5] =1; } else if(keysC [1] [5] ==1){keysC [1] [5] =0; } //列3if(keysC [2] [0] ==0){keysC [2] [0] =1; } else if(keysC [2] [0] ==1){keysC [2] [0] =0; } if(keysC [2] [1] ==0){keysC [2] [1] =1; } else if(keysC [2] [1] ==1){keysC [2] [1] =0; } if(keysC [2] [2] ==0){keysC [2] [2] =1; } else if(keysC [2] [2] ==1){keysC [2] [2] =0; } if(keysC [2] [3] ==0){keysC [2] [3] =1; } else if(keysC [2] [3] ==1){keysC [2] [3] =0; } if(keysC [2] [4] ==0){keysC [2] [4] =1; } else if(keysC [2] [4] ==1){keysC [2] [4] =0; } if(keysC [2] [5] ==0){keysC [2] [5] =1; } else if(keysC [2] [5] ==1){keysC [2] [5] =0; } //列4if(keysC [3] [0] ==0){keysC [3] [0] =1; } else if(keysC [3] [0] ==1){keysC [3] [0] =0; } if(keysC [3] [1] ==0){keysC [3] [1] =1; } else if(keysC [3] [1] ==1){keysC [3] [1] =0; } if(keysC [3] [2] ==0){keysC [3] [2] =1; } else if(keysC [3] [2] ==1){keysC [3] [2] =0; } if(keysC [3] [3] ==0){keysC [3] [3] =1; } else if(keysC [3] [3] ==1){keysC [3] [3] =0; } if(keysC [3] [4] ==0){keysC [3] [4] =1; } else if(keysC [3] [4] ==1){keysC [3] [4] =0; } if(keysC [3] [5] ==0){keysC [3] [5] =1; } else if(keysC [3] [5] ==1){keysC [3] [5] =0; } //列5if(keysC [4] [0] ==0){keysC [4] [0] =1; } else if(keysC [4] [0] ==1){keysC [4] [0] =0; } if(keysC [4] [1] ==0){keysC [4] [1] =1; } else if(keysC [4] [1] ==1){keysC [4] [1] =0; } if(keysC [4] [2] ==0){keysC [4] [2] =1; } else if(keysC [4] [2] ==1){keysC [4] [2] =0; } if(keysC [4] [3] ==0){keysC [4] [3] =1; } else if(keysC [4] [3] ==1){keysC [4] [3] =0; } if(keysC [4] [4] ==0){keysC [4] [4] =1; } else if(keysC [4] [4] ==1){keysC [4] [4] =0; } if(keysC [4] [5] ==0){keysC [4] [5] =1; } else if(keysC [4] [5] ==1){keysC [4] [5] =0; } //列6if(keysC [5] [0] ==0){keysC [5] [0] =1; } else if(keysC [5] [0] ==1){keysC [5] [0] =0; } if(keysC [5] [1] ==0){keysC [5] [1] =1; } else if(keysC [5] [1] ==1){keysC [5] [1] =0; } if(keysC [5] [2] ==0){keysC [5] [2] =1; } else if(keysC [5] [2] ==1){keysC [5] [2] =0; } if(keysC [5] [3] ==0){keysC [5] [3] =1; } else if(keysC [5] [3] ==1){keysC [5] [3] =0; } if(keysC [5] [4] ==0){keysC [5] [4] =1; } else if(keysC [5] [4] ==1){keysC [5] [4] =0; } if(keysC [5] [5] ==0){keysC [5] [5] =1; } else if(keysC [5] [5] ==1){keysC [5] [5] =0; } //列7if(keysC [6] [0] ==0){keysC [6] [0] =1; } else if(keysC [6] [0] ==1){keysC [6] [0] =0; } //キーボードAを書き込む// A36 if((keysA [0] [0] ==0)and(lastA [0] [0] ==0)){MidiSend(noteOn1、36、velocity); lastA [0] [0] =7; } if((keysA [0] [0] ==1)and(lastA [0] [0] ==7)){MidiSend(noteOff1、36、velocity); lastA [0] [0] =0; } // A37 if((keysA [1] [0] ==0)and(lastA [1] [0] ==0)){MidiSend(noteOn1、37、velocity); lastA [1] [0] =7; } if((keysA [1] [0] ==1)and(lastA [1] [0] ==7)){MidiSend(noteOff1、37、velocity); lastA [1] [0] =0; } // A38 if((keysA [1] [1] ==0)and(lastA [1] [1] ==0)){MidiSend(noteOn1、38、velocity); lastA [1] [1] =7; } // Midi Note Offを書き込むif((keysA [1] [1] ==1)and(lastA [1] [1] ==7)){MidiSend(noteOff1、38、velocity); lastA [1] [1] =0; } // A39 if((keysA [1] [2] ==0)and(lastA [1] [2] ==0)){MidiSend(noteOn1、39、velocity); lastA [1] [2] =7; } // Midi Note Offを書き込むif((keysA [1] [2] ==1)and(lastA [1] [2] ==7)){MidiSend(noteOff1、39、velocity); lastA [1] [2] =0; } // A40 if((keysA [1] [3] ==0)and(lastA [1] [3] ==0)){MidiSend(noteOn1、40、velocity); lastA [1] [3] =7; } // Midi Note Offを書き込むif((keysA [1] [3] ==1)and(lastA [1] [3] ==7)){MidiSend(noteOff1、40、velocity); lastA [1] [3] =0; } // A41 if((keysA [1] [4] ==0)and(lastA [1] [4] ==0)){MidiSend(noteOn1、41、velocity); lastA [1] [4] =7; } // Midi Note Offを書き込むif((keysA [1] [4] ==1)and(lastA [1] [4] ==7)){MidiSend(noteOff1、41、velocity); lastA [1] [4] =0; } // A42 if((keysA [1] [5] ==0)and(lastA [1] [5] ==0)){MidiSend(noteOn1、42、velocity); lastA [1] [5] =7; } // Midi Note Offを書き込むif((keysA [1] [5] ==1)and(lastA [1] [5] ==7)){MidiSend(noteOff1、42、velocity); lastA [1] [5] =0; } // A43 if((keysA [2] [0] ==0)and(lastA [2] [0] ==0)){MidiSend(noteOn1、43、velocity); lastA [2] [0] =7; } // Midi Note Offを書き込むif((keysA [2] [0] ==1)and(lastA [2] [0] ==7)){MidiSend(noteOff1、43、velocity); lastA [2] [0] =0; } // A44 if((keysA [2] [1] ==0)and(lastA [2] [1] ==0)){MidiSend(noteOn1、44、velocity); lastA [2] [1] =7; } // Midi Note Offを書き込むif((keysA [2] [1] ==1)and(lastA [2] [1] ==7)){MidiSend(noteOff1、44、velocity); lastA [2] [1] =0; } // A45 if((keysA [2] [2] ==0)and(lastA [2] [2] ==0)){MidiSend(noteOn1、45、velocity); lastA [2] [2] =7; } // Midi Note Offを書き込むif((keysA [2] [2] ==1)and(lastA [2] [2] ==7)){MidiSend(noteOff1、45、velocity); lastA [2] [2] =0; } // A46 if((keysA [2] [3] ==0)and(lastA [2] [3] ==0)){MidiSend(noteOn1、46、velocity); lastA [2] [3] =7; } // Midi Note Offを書き込むif((keysA [2] [3] ==1)and(lastA [2] [3] ==7)){MidiSend(noteOff1、46、velocity); lastA [2] [3] =0; } // A47 if((keysA [2] [4] ==0)and(lastA [2] [4] ==0)){MidiSend(noteOn1、47、velocity); lastA [2] [4] =7; } // Midi Note Offを書き込むif((keysA [2] [4] ==1)and(lastA [2] [4] ==7)){MidiSend(noteOff1、47、velocity); lastA [2] [4] =0; } // A48 if((keysA [2] [5] ==0)and(lastA [2] [5] ==0)){MidiSend(noteOn1、48、velocity); lastA [2] [5] =7; } // Midi Note Offを書き込むif((keysA [2] [5] ==1)and(lastA [2] [5] ==7)){MidiSend(noteOff1、48、velocity); lastA [2] [5] =0; } // A49 if((keysA [3] [0] ==0)and(lastA [3] [0] ==0)){MidiSend(noteOn1、49、velocity); lastA [3] [0] =7; } // Midi Note Offを書き込むif((keysA [3] [0] ==1)and(lastA [3] [0] ==7)){MidiSend(noteOff1、49、velocity); lastA [3] [0] =0; } // A50 if((keysA [3] [1] ==0)and(lastA [3] [1] ==0)){MidiSend(noteOn1、50、velocity); lastA [3] [1] =7; } // Midi Note Offを書き込むif((keysA [3] [1] ==1)and(lastA [3] [1] ==7)){MidiSend(noteOff1、50、velocity); lastA [3] [1] =0; } // A51 if((keysA [3] [2] ==0)and(lastA [3] [2] ==0)){MidiSend(noteOn1、51、velocity); lastA [3] [2] =7; } // Midi Note Offを書き込むif((keysA [3] [2] ==1)and(lastA [3] [2] ==7)){MidiSend(noteOff1、51、velocity); lastA [3] [2] =0; } // A52 if((keysA [3] [3] ==0)and(lastA [3] [3] ==0)){MidiSend(noteOn1、52、velocity); lastA [3] [3] =7; } // Midi Note Offを書き込むif((keysA [3] [3] ==1)and(lastA [3] [3] ==7)){MidiSend(noteOff1、52、velocity); lastA [3] [3] =0; } // A53 if((keysA [3] [4] ==0)and(lastA [3] [4] ==0)){MidiSend(noteOn1、53、velocity); lastA [3] [4] =7; } // Midi Note Offを書き込むif((keysA [3] [4] ==1)and(lastA [3] [4] ==7)){MidiSend(noteOff1、53、velocity); lastA [3] [4] =0; } // A54 if((keysA [3] [5] ==0)and(lastA [3] [5] ==0)){MidiSend(noteOn1、54、velocity); lastA [3] [5] =7; } // Midi Note Offを書き込むif((keysA [3] [5] ==1)and(lastA [3] [5] ==7)){MidiSend(noteOff1、54、velocity); lastA [3] [5] =0; } // A55 if((keysA [4] [0] ==0)and(lastA [4] [0] ==0)){MidiSend(noteOn1、55、velocity); lastA [4] [0] =7; } // Midi Note Offを書き込むif((keysA [4] [0] ==1)and(lastA [4] [0] ==7)){MidiSend(noteOff1、55、velocity); lastA [4] [0] =0; } // A56 if((keysA [4] [1] ==0)and(lastA [4] [1] ==0)){MidiSend(noteOn1、56、velocity); lastA [4] [1] =7; } // Midi Note Offを書き込むif((keysA [4] [1] ==1)and(lastA [4] [1] ==7)){MidiSend(noteOff1、56、velocity); lastA [4] [1] =0; } // A57 if((keysA [4] [2] ==0)and(lastA [4] [2] ==0)){MidiSend(noteOn1、57、velocity); lastA [4] [2] =7; } // Midi Note Offを書き込むif((keysA [4] [2] ==1)and(lastA [4] [2] ==7)){MidiSend(noteOff1、57、velocity); lastA [4] [2] =0; } // A58 if((keysA [4] [3] ==0)and(lastA [4] [3] ==0)){MidiSend(noteOn1、58、velocity); lastA [4] [3] =7; } // Midi Note Offを書き込むif((keysA [4] [3] ==1)and(lastA [4] [3] ==7)){MidiSend(noteOff1、58、velocity); lastA [4] [3] =0; } // 59 if((keysA [4] [4] ==0)and(lastA [4] [4] ==0)){MidiSend(noteOn1、59、velocity); lastA [4] [4] =7; } // Midi Note Offを書き込むif((keysA [4] [4] ==1)and(lastA [4] [4] ==7)){MidiSend(noteOff1、59、velocity); lastA [4] [4] =0; } // A60 if((keysA [4] [5] ==0)and(lastA [4] [5] ==0)){MidiSend(noteOn1、60、velocity); lastA [4] [5] =7; } // Midi Note Offを書き込むif((keysA [4] [5] ==1)and(lastA [4] [5] ==7)){MidiSend(noteOff1、60、velocity); lastA [4] [5] =0; } // A61 if((keysA [5] [0] ==0)and(lastA [5] [0] ==0)){MidiSend(noteOn1、61、velocity); lastA [5] [0] =7; } // Midi Note Offを書き込むif((keysA [5] [0] ==1)and(lastA [5] [0] ==7)){MidiSend(noteOff1、61、velocity); lastA [5] [0] =0; } // A62 if((keysA [5] [1] ==0)and(lastA [5] [1] ==0)){MidiSend(noteOn1、62、velocity); lastA [5] [1] =7; } // Midi Note Offを書き込むif((keysA [5] [1] ==1)and(lastA [5] [1] ==7)){MidiSend(noteOff1、62、velocity); lastA [5] [1] =0; } // A63 if((keysA [5] [2] ==0)and(lastA [5] [2] ==0)){MidiSend(noteOn1、63、velocity); lastA [5] [2] =7; } // Midi Note Offを書き込むif((keysA [5] [2] ==1)and(lastA [5] [2] ==7)){MidiSend(noteOff1、63、velocity); lastA [5] [2] =0; } // A64 if((keysA [5] [3] ==0)and(lastA [5] [3] ==0)){MidiSend(noteOn1、64、velocity); lastA [5] [3] =7; } // Midi Note Offを書き込むif((keysA [5] [3] ==1)and(lastA [5] [3] ==7)){MidiSend(noteOff1、64、velocity); lastA [5] [3] =0; } // A65 if((keysA [5] [4] ==0)and(lastA [5] [4] ==0)){MidiSend(noteOn1、65、velocity); lastA [5] [4] =7; } // Midi Note Offを書き込むif((keysA [5] [4] ==1)and(lastA [5] [4] ==7)){MidiSend(noteOff1、65、velocity); lastA [5] [4] =0; } // A66 if((keysA [5] [5] ==0)and(lastA [5] [5] ==0)){MidiSend(noteOn1、66、velocity); lastA [5] [5] =7; } // Midi Note Offを書き込むif((keysA [5] [5] ==1)and(lastA [5] [5] ==7)){MidiSend(noteOff1、66、velocity); lastA [5] [5] =0; } // A67 if((keysA [6] [0] ==0)and(lastA [6] [0] ==0)){MidiSend(noteOn1、67、velocity); lastA [6] [0] =7; } // Midi Note Offを書き込むif((keysA [6] [0] ==1)and(lastA [6] [0] ==7)){MidiSend(noteOff1、67、velocity); lastA [6] [0] =0; } // A68 if((keysA [6] [1] ==0)and(lastA [6] [1] ==0)){MidiSend(noteOn1、68、velocity); lastA [6] [1] =7; } // Midi Note Offを書き込むif((keysA [6] [1] ==1)and(lastA [6] [1] ==7)){MidiSend(noteOff1、68、velocity); lastA [6] [1] =0; } // A69 if((keysA [6] [2] ==0)and(lastA [6] [2] ==0)){MidiSend(noteOn1、69、velocity); lastA [6] [2] =7; } // Midi Note Offを書き込むif((keysA [6] [2] ==1)and(lastA [6] [2] ==7)){MidiSend(noteOff1、69、velocity); lastA [6] [2] =0; } // A70 if((keysA [6] [3] ==0)and(lastA [6] [3] ==0)){MidiSend(noteOn1、70、velocity); lastA [6] [3] =7; } // Midi Note Offを書き込むif((keysA [6] [3] ==1)and(lastA [6] [3] ==7)){MidiSend(noteOff1、70、velocity); lastA [6] [3] =0; } // A71 if((keysA [6] [4] ==0)and(lastA [6] [4] ==0)){MidiSend(noteOn1、71、velocity); lastA [6] [4] =7; } // Midi Note Offを書き込むif((keysA [6] [4] ==1)and(lastA [6] [4] ==7)){MidiSend(noteOff1、71、velocity); lastA [6] [4] =0; } // A72 if((keysA [6] [5] ==0)and(lastA [6] [5] ==0)){MidiSend(noteOn1、72、velocity); lastA [6] [5] =7; } // Midi Note Offを書き込むif((keysA [6] [5] ==1)and(lastA [6] [5] ==7)){MidiSend(noteOff1、72、velocity); lastA [6] [5] =0; } // A73 if((keysA [7] [0] ==0)and(lastA [7] [0] ==0)){MidiSend(noteOn1、73、velocity); lastA [7] [0] =7; } // Midi Note Offを書き込むif((keysA [7] [0] ==1)and(lastA [7] [0] ==7)){MidiSend(noteOff1、73、velocity); lastA [7] [0] =0; } // A74 if((keysA [7] [1] ==0)and(lastA [7] [1] ==0)){MidiSend(noteOn1、74、velocity); lastA [7] [1] =7; } // Midi Note Offを書き込むif((keysA [7] [1] ==1)and(lastA [7] [1] ==7)){MidiSend(noteOff1、74、velocity); lastA [7] [1] =0; } // A75 if((keysA [7] [2] ==0)and(lastA [7] [2] ==0)){MidiSend(noteOn1、75、velocity); lastA [7] [2] =7; } // Midi Note Offを書き込むif((keysA [7] [2] ==1)and(lastA [7] [2] ==7)){MidiSend(noteOff1、75、velocity); lastA [7] [2] =0; } // A76 if((keysA [7] [3] ==0)and(lastA [7] [3] ==0)){MidiSend(noteOn1、76、velocity); lastA [7] [3] =7; } // Midi Note Offを書き込むif((keysA [7] [3] ==1)and(lastA [7] [3] ==7)){MidiSend(noteOff1、76、velocity); lastA [7] [3] =0; } // A77 if((keysA [7] [4] ==0)and(lastA [7] [4] ==0)){MidiSend(noteOn1、77、velocity); lastA [7] [4] =7; } // Midi Note Offを書き込むif((keysA [7] [4] ==1)and(lastA [7] [4] ==7)){MidiSend(noteOff1、77、velocity); lastA [7] [4] =0; } // A78 if((keysA [7] [5] ==0)and(lastA [7] [5] ==0)){MidiSend(noteOn1、78、velocity); lastA [7] [5] =7; } // Midi Note Offを書き込むif((keysA [7] [5] ==1)and(lastA [7] [5] ==7)){MidiSend(noteOff1、78、velocity); lastA [7] [5] =0; } // A79 if((keysA [8] [0] ==0)and(lastA [8] [0] ==0)){MidiSend(noteOn1、79、velocity); lastA [8] [0] =7; } // Midi Note Offを書き込むif((keysA [8] [0] ==1)and(lastA [8] [0] ==7)){MidiSend(noteOff1、79、velocity); lastA [8] [0] =0; } // A80 if((keysA [8] [1] ==0)and(lastA [8] [1] ==0)){MidiSend(noteOn1、80、velocity); lastA [8] [1] =7; } // Midi Note Offを書き込むif((keysA [8] [1] ==1)and(lastA [8] [1] ==7)){MidiSend(noteOff1、80、velocity); lastA [8] [1] =0; } // A81 if((keysA [8] [2] ==0)and(lastA [8] [2] ==0)){MidiSend(noteOn1、81、velocity); lastA [8] [2] =7; } // Midi Note Offを書き込むif((keysA [8] [2] ==1)and(lastA [8] [2] ==7)){MidiSend(noteOff1、81、velocity); lastA [8] [2] =0; } // A82 if((keysA [8] [3] ==0)and(lastA [8] [3] ==0)){MidiSend(noteOn1、82、velocity); lastA [8] [3] =7; } // Midi Note Offを書き込むif((keysA [8] [3] ==1)and(lastA [8] [3] ==7)){MidiSend(noteOff1、82、velocity); lastA [8] [3] =0; } // A83 if((keysA [8] [4] ==0)and(lastA [8] [4] ==0)){MidiSend(noteOn1、83、velocity); lastA [8] [4] =7; } // Midi Note Offを書き込むif((keysA [8] [4] ==1)and(lastA [8] [4] ==7)){MidiSend(noteOff1、83、velocity); lastA [8] [4] =0; } // A84 if((keysA [8] [5] ==0)and(lastA [8] [5] ==0)){MidiSend(noteOn1、84、velocity); lastA [8] [5] =7; } // Midi Note Offを書き込むif((keysA [8] [5] ==1)and(lastA [8] [5] ==7)){MidiSend(noteOff1、84、velocity); lastA [8] [5] =0; } // A85 if((keysA [9] [0] ==0)and(lastA [9] [0] ==0)){MidiSend(noteOn1、85、velocity); lastA [9] [0] =7; } // Midi Note Offを書き込むif((keysA [9] [0] ==1)and(lastA [9] [0] ==7)){MidiSend(noteOff1、85、velocity); lastA [9] [0] =0; } // A86 if((keysA [9] [1] ==0)and(lastA [9] [1] ==0)){MidiSend(noteOn1、86、velocity); lastA [9] [1] =7; } // Midi Note Offを書き込むif((keysA [9] [1] ==1)and(lastA [9] [1] ==7)){MidiSend(noteOff1、86、velocity); lastA [9] [1] =0; } // A87 if((keysA [9] [2] ==0)and(lastA [9] [2] ==0)){MidiSend(noteOn1、87、velocity); lastA [9] [2] =7; } // Midi Note Offを書き込むif((keysA [9] [2] ==1)and(lastA [9] [2] ==7)){MidiSend(noteOff1、87、velocity); lastA [9] [2] =0; } // A88 if((keysA [9] [3] ==0)and(lastA [9] [3] ==0)){MidiSend(noteOn1、88、velocity); lastA [9] [3] =7; } // Midi Note Offを書き込むif((keysA [9] [3] ==1)and(lastA [9] [3] ==7)){MidiSend(noteOff1、88、velocity); lastA [9] [3] =0; } // A89 if((keysA [9] [4] ==0)and(lastA [9] [4] ==0)){MidiSend(noteOn1、89、velocity); lastA [9] [4] =7; } // Midi Note Offを書き込むif((keysA [9] [4] ==1)and(lastA [9] [4] ==7)){MidiSend(noteOff1、89、velocity); lastA [9] [4] =0; } // A90 if((keysA [9] [5] ==0)and(lastA [9] [5] ==0)){MidiSend(noteOn1、90、velocity); lastA [9] [5] =7; } // Midi Note Offを書き込むif((keysA [9] [5] ==1)and(lastA [9] [5] ==7)){MidiSend(noteOff1、90、velocity); lastA [9] [5] =0; } // A91 if((keysA [10] [0] ==0)and(lastA [10] [0] ==0)){MidiSend(noteOn1、91、velocity); lastA [10] [0] =7; } // Midi Note Offを書き込むif((keysA [10] [0] ==1)and(lastA [10] [0] ==7)){MidiSend(noteOff1、91、velocity); lastA [10] [0] =0; } // A92 if((keysA [10] [1] ==0)and(lastA [10] [1] ==0)){MidiSend(noteOn1、92、velocity); lastA [10] [1] =7; } // Midi Note Offを書き込むif((keysA [10] [1] ==1)and(lastA [10] [1] ==7)){MidiSend(noteOff1、92、velocity); lastA [10] [1] =0; } // A93 if((keysA [10] [2] ==0)and(lastA [10] [2] ==0)){MidiSend(noteOn1、93、velocity); lastA [10] [2] =7; } // Midi Note Offを書き込むif((keysA [10] [2] ==1)and(lastA [10] [2] ==7)){MidiSend(noteOff1、93、velocity); lastA [10] [2] =0; } // A94 if((keysA [10] [3] ==0)and(lastA [10] [3] ==0)){MidiSend(noteOn1、94、velocity); lastA [10] [3] =7; } // Midi Note Offを書き込むif((keysA [10] [3] ==1)and(lastA [10] [3] ==7)){MidiSend(noteOff1、94、velocity); lastA [10] [3] =0; } // A95 if((keysA [10] [4] ==0)and(lastA [10] [4] ==0)){MidiSend(noteOn1、95、velocity); lastA [10] [4] =7; } // Midi Note Offを書き込むif((keysA [10] [4] ==1)and(lastA [10] [4] ==7)){MidiSend(noteOff1、95、velocity); lastA [10] [4] =0; } // A96 if((keysA [10] [5] ==0)and(lastA [10] [5] ==0)){MidiSend(noteOn1、96、velocity); lastA [10] [5] =7; } // Midi Note Offを書き込むif((keysA [10] [5] ==1)and(lastA [10] [5] ==7)){MidiSend(noteOff1、96、velocity); lastA [10] [5] =0; } //キーボードBの書き込み// B36 if((keysB [0] [0] ==0)and(lastB [0] [0] ==0)){MidiSend(noteOn2、36、velocity); lastB [0] [0] =7; } if((keysB [0] [0] ==1)and(lastB [0] [0] ==7)){MidiSend(noteOff2、36、velocity); lastB [0] [0] =0; } // B37 if((keysB [1] [0] ==0)and(lastB [1] [0] ==0)){MidiSend(noteOn2、37、velocity); lastB [1] [0] =7; } if((keysB [1] [0] ==1)and(lastB [1] [0] ==7)){MidiSend(noteOff2、37、velocity); lastB [1] [0] =0; } // B38 if((keysB [1] [1] ==0)and(lastB [1] [1] ==0)){MidiSend(noteOn2、38、velocity); lastB [1] [1] =7; } // Midi Note Offを書き込むif((keysB [1] [1] ==1)and(lastB [1] [1] ==7)){MidiSend(noteOff2、38、velocity); lastB [1] [1] =0; } // B39 if((keysB [1] [2] ==0)and(lastB [1] [2] ==0)){MidiSend(noteOn2、39、velocity); lastB [1] [2] =7; } // Midi Note Offを書き込むif((keysB [1] [2] ==1)and(lastB [1] [2] ==7)){MidiSend(noteOff2、39、velocity); lastB [1] [2] =0; } // B40 if((keysB [1] [3] ==0)and(lastB [1] [3] ==0)){MidiSend(noteOn2、40、velocity); lastB [1] [3] =7; } // Midi Note Offを書き込むif((keysB [1] [3] ==1)and(lastB [1] [3] ==7)){MidiSend(noteOff2、40、velocity); lastB [1] [3] =0; } // B41 if((keysB [1] [4] ==0)and(lastB [1] [4] ==0)){MidiSend(noteOn2、41、velocity); lastB [1] [4] =7; } // Midi Note Offを書き込むif((keysB [1] [4] ==1)and(lastB [1] [4] ==7)){MidiSend(noteOff2、41、velocity); lastB [1] [4] =0; } // B42 if((keysB [1] [5] ==0)and(lastB [1] [5] ==0)){MidiSend(noteOn2、42、velocity); lastB [1] [5] =7; } // Midi Note Offを書き込むif((keysB [1] [5] ==1)and(lastB [1] [5] ==7)){MidiSend(noteOff2、42、velocity); lastB [1] [5] =0; } // B43 if((keysB [2] [0] ==0)and(lastB [2] [0] ==0)){MidiSend(noteOn2、43、velocity); lastB [2] [0] =7; } // Midi Note Offを書き込むif((keysB [2] [0] ==1)and(lastB [2] [0] ==7)){MidiSend(noteOff2、43、velocity); lastB [2] [0] =0; } // B44 if((keysB [2] [1] ==0)and(lastB [2] [1] ==0)){MidiSend(noteOn2、44、velocity); lastB [2] [1] =7; } // Midi Note Offを書き込むif((keysB [2] [1] ==1)and(lastB [2] [1] ==7)){MidiSend(noteOff2、44、velocity); lastB [2] [1] =0; } // B45 if((keysB [2] [2] ==0)and(lastB [2] [2] ==0)){MidiSend(noteOn2、45、velocity); lastB [2] [2] =7; } // Midi Note Offを書き込むif((keysB [2] [2] ==1)and(lastB [2] [2] ==7)){MidiSend(noteOff2、45、velocity); lastB [2] [2] =0; } // B46 if((keysB [2] [3] ==0)and(lastB [2] [3] ==0)){MidiSend(noteOn2、46、velocity); lastB [2] [3] =7; } // Midi Note Offを書き込むif((keysB [2] [3] ==1)and(lastB [2] [3] ==7)){MidiSend(noteOff2、46、velocity); lastB [2] [3] =0; } // B47 if((keysB [2] [4] ==0)and(lastB [2] [4] ==0)){MidiSend(noteOn2、47、velocity); lastB [2] [4] =7; } // Midi Note Offを書き込むif((keysB [2] [4] ==1)and(lastB [2] [4] ==7)){MidiSend(noteOff2、47、velocity); lastB [2] [4] =0; } // B48 if((keysB [2] [5] ==0)and(lastB [2] [5] ==0)){MidiSend(noteOn2、48、velocity); lastB [2] [5] =7; } // Midi Note Offを書き込むif((keysB [2] [5] ==1)and(lastB [2] [5] ==7)){MidiSend(noteOff2、48、velocity); lastB [2] [5] =0; } // B49 if((keysB [3] [0] ==0)and(lastB [3] [0] ==0)){MidiSend(noteOn2、49、velocity); lastB [3] [0] =7; } // Midi Note Offを書き込むif((keysB [3] [0] ==1)and(lastB [3] [0] ==7)){MidiSend(noteOff2、49、velocity); lastB [3] [0] =0; } // B50 if((keysB [3] [1] ==0)and(lastB [3] [1] ==0)){MidiSend(noteOn2、50、velocity); lastB [3] [1] =7; } // Midi Note Offを書き込むif((keysB [3] [1] ==1)and(lastB [3] [1] ==7)){MidiSend(noteOff2、50、velocity); lastB [3] [1] =0; } // B51 if((keysB [3] [2] ==0)and(lastB [3] [2] ==0)){MidiSend(noteOn2、51、velocity); lastB [3] [2] =7; } // Midi Note Offを書き込むif((keysB [3] [2] ==1)and(lastB [3] [2] ==7)){MidiSend(noteOff2、51、velocity); lastB [3] [2] =0; } // B52 if((keysB [3] [3] ==0)and(lastB [3] [3] ==0)){MidiSend(noteOn2、52、velocity); lastB [3] [3] =7; } // Midi Note Offを書き込むif((keysB [3] [3] ==1)and(lastB [3] [3] ==7)){MidiSend(noteOff2、52、velocity); lastB [3] [3] =0; } // B53 if((keysB [3] [4] ==0)and(lastB [3] [4] ==0)){MidiSend(noteOn2、53、velocity); lastB [3] [4] =7; } // Midi Note Offを書き込むif((keysB [3] [4] ==1)and(lastB [3] [4] ==7)){MidiSend(noteOff2、53、velocity); lastB [3] [4] =0; } // B54 if((keysB [3] [5] ==0)and(lastB [3] [5] ==0)){MidiSend(noteOn2、54、velocity); lastB [3] [5] =7; } // Midi Note Offを書き込むif((keysB [3] [5] ==1)and(lastB [3] [5] ==7)){MidiSend(noteOff2、54、velocity); lastB [3] [5] =0; } // B55 if((keysB [4] [0] ==0)and(lastB [4] [0] ==0)){MidiSend(noteOn2、55、velocity); lastB [4] [0] =7; } // Midi Note Offを書き込むif((keysB [4] [0] ==1)and(lastB [4] [0] ==7)){MidiSend(noteOff2、55、velocity); lastB [4] [0] =0; } // B56 if((keysB [4] [1] ==0)and(lastB [4] [1] ==0)){MidiSend(noteOn2、56、velocity); lastB [4] [1] =7; } // Midi Note Offを書き込むif((keysB [4] [1] ==1)and(lastB [4] [1] ==7)){MidiSend(noteOff2、56、velocity); lastB [4] [1] =0; } // B57 if((keysB [4] [2] ==0)and(lastB [4] [2] ==0)){MidiSend(noteOn2、57、velocity); lastB [4] [2] =7; } // Midi Note Offを書き込むif((keysB [4] [2] ==1)and(lastB [4] [2] ==7)){MidiSend(noteOff2、57、velocity); lastB [4] [2] =0; } // B58 if((keysB [4] [3] ==0)and(lastB [4] [3] ==0)){MidiSend(noteOn2、58、velocity); lastB [4] [3] =7; } // Midi Note Offを書き込むif((keysB [4] [3] ==1)and(lastB [4] [3] ==7)){MidiSend(noteOff2、58、velocity); lastB [4] [3] =0; } // B59 if((keysB [4] [4] ==0)and(lastB [4] [4] ==0)){MidiSend(noteOn2、59、velocity); lastB [4] [4] =7; } // Midi Note Offを書き込むif((keysB [4] [4] ==1)and(lastB [4] [4] ==7)){MidiSend(noteOff2、59、velocity); lastB [4] [4] =0; } // B60 if((keysB [4] [5] ==0)and(lastB [4] [5] ==0)){MidiSend(noteOn2、60、velocity); lastB [4] [5] =7; } // Midi Note Offを書き込むif((keysB [4] [5] ==1)and(lastB [4] [5] ==7)){MidiSend(noteOff2、60、velocity); lastB [4] [5] =0; } // B61 if((keysB [5] [0] ==0)and(lastB [5] [0] ==0)){MidiSend(noteOn2、61、velocity); lastB [5] [0] =7; } // Midi Note Offを書き込むif((keysB [5] [0] ==1)and(lastB [5] [0] ==7)){MidiSend(noteOff2、61、velocity); lastB [5] [0] =0; } // B62 if((keysB [5] [1] ==0)and(lastB [5] [1] ==0)){MidiSend(noteOn2、62、velocity); lastB [5] [1] =7; } // Midi Note Offを書き込むif((keysB [5] [1] ==1)and(lastB [5] [1] ==7)){MidiSend(noteOff2、62、velocity); lastB [5] [1] =0; } // B63 if((keysB [5] [2] ==0)and(lastB [5] [2] ==0)){MidiSend(noteOn2、63、velocity); lastB [5] [2] =7; } // Midi Note Offを書き込むif((keysB [5] [2] ==1)and(lastB [5] [2] ==7)){MidiSend(noteOff2、63、velocity); lastB [5] [2] =0; } // B64 if((keysB [5] [3] ==0)and(lastB [5] [3] ==0)){MidiSend(noteOn2、64、velocity); lastB [5] [3] =7; } // Midi Note Offを書き込むif((keysB [5] [3] ==1)and(lastB [5] [3] ==7)){MidiSend(noteOff2、64、velocity); lastB [5] [3] =0; } // B65 if((keysB [5] [4] ==0)and(lastB [5] [4] ==0)){MidiSend(noteOn2、65、velocity); lastB [5] [4] =7; } // Midi Note Offを書き込むif((keysB [5] [4] ==1)and(lastB [5] [4] ==7)){MidiSend(noteOff2、65、velocity); lastB [5] [4] =0; } // B66 if((keysB [5] [5] ==0)and(lastB [5] [5] ==0)){MidiSend(noteOn2、66、velocity); lastB [5] [5] =7; } // Midi Note Offを書き込むif((keysB [5] [5] ==1)and(lastB [5] [5] ==7)){MidiSend(noteOff2、66、velocity); lastB [5] [5] =0; } // B67 if((keysB [6] [0] ==0)and(lastB [6] [0] ==0)){MidiSend(noteOn2、67、velocity); lastB [6] [0] =7; } // Midi Note Offを書き込むif((keysB [6] [0] ==1)and(lastB [6] [0] ==7)){MidiSend(noteOff2、67、velocity); lastB [6] [0] =0; } // B68 if((keysB [6] [1] ==0)and(lastB [6] [1] ==0)){MidiSend(noteOn2、68、velocity); lastB [6] [1] =7; } // Midi Note Offを書き込むif((keysB [6] [1] ==1)and(lastB [6] [1] ==7)){MidiSend(noteOff2、68、velocity); lastB [6] [1] =0; } // B69 if((keysB [6] [2] ==0)and(lastB [6] [2] ==0)){MidiSend(noteOn2、69、velocity); lastB [6] [2] =7; } // Midi Note Offを書き込むif((keysB [6] [2] ==1)and(lastB [6] [2] ==7)){MidiSend(noteOff2、69、velocity); lastB [6] [2] =0; } // B70 if((keysB [6] [3] ==0)and(lastB [6] [3] ==0)){MidiSend(noteOn2、70、velocity); lastB [6] [3] =7; } // Midi Note Offを書き込むif((keysB [6] [3] ==1)and(lastB [6] [3] ==7)){MidiSend(noteOff2、70、velocity); lastB [6] [3] =0; } // B71 if((keysB [6] [4] ==0)and(lastB [6] [4] ==0)){MidiSend(noteOn2、71、velocity); lastB [6] [4] =7; } // Midi Note Offを書き込むif((keysB [6] [4] ==1)and(lastB [6] [4] ==7)){MidiSend(noteOff2、71、velocity); lastB [6] [4] =0; } // B72 if((keysB [6] [5] ==0)and(lastB [6] [5] ==0)){MidiSend(noteOn2、72、velocity); lastB [6] [5] =7; } // Midi Note Offを書き込むif((keysB [6] [5] ==1)and(lastB [6] [5] ==7)){MidiSend(noteOff2、72、velocity); lastB [6] [5] =0; } // B73 if((keysB [7] [0] ==0)and(lastB [7] [0] ==0)){MidiSend(noteOn2、73、velocity); lastB [7] [0] =7; } // Midi Note Offを書き込むif((keysB [7] [0] ==1)and(lastB [7] [0] ==7)){MidiSend(noteOff2、73、velocity); lastB [7] [0] =0; } // B74 if((keysB [7] [1] ==0)and(lastB [7] [1] ==0)){MidiSend(noteOn2、74、velocity); lastB [7] [1] =7; } // Midi Note Offを書き込むif((keysB [7] [1] ==1)and(lastB [7] [1] ==7)){MidiSend(noteOff2、74、velocity); lastB [7] [1] =0; } // B75 if((keysB [7] [2] ==0)and(lastB [7] [2] ==0)){MidiSend(noteOn2、75、velocity); lastB [7] [2] =7; } // Midi Note Offを書き込むif((keysB [7] [2] ==1)and(lastB [7] [2] ==7)){MidiSend(noteOff2、75、velocity); lastB [7] [2] =0; } // B76 if((keysB [7] [3] ==0)and(lastB [7] [3] ==0)){MidiSend(noteOn2、76、velocity); lastB [7] [3] =7; } // Midi Note Offを書き込むif((keysB [7] [3] ==1)and(lastB [7] [3] ==7)){MidiSend(noteOff2、76、velocity); lastB [7] [3] =0; } // B77 if((keysB [7] [4] ==0)and(lastB [7] [4] ==0)){MidiSend(noteOn2、77、velocity); lastB [7] [4] =7; } // Midi Note Offを書き込むif((keysB [7] [4] ==1)and(lastB [7] [4] ==7)){MidiSend(noteOff2、77、velocity); lastB [7] [4] =0; } // B78 if((keysB [7] [5] ==0)and(lastB [7] [5] ==0)){MidiSend(noteOn2、78、velocity); lastB [7] [5] =7; } // Midi Note Offを書き込むif((keysB [7] [5] ==1)and(lastB [7] [5] ==7)){MidiSend(noteOff2、78、velocity); lastB [7] [5] =0; } // B79 if((keysB [8] [0] ==0)and(lastB [8] [0] ==0)){MidiSend(noteOn2、79、velocity); lastB [8] [0] =7; } // Midi Note Offを書き込むif((keysB [8] [0] ==1)and(lastB [8] [0] ==7)){MidiSend(noteOff2、79、velocity); lastB [8] [0] =0; } // B80 if((keysB [8] [1] ==0)and(lastB [8] [1] ==0)){MidiSend(noteOn2、80、velocity); lastB [8] [1] =7; } // Midi Note Offを書き込むif((keysB [8] [1] ==1)and(lastB [8] [1] ==7)){MidiSend(noteOff2、80、velocity); lastB [8] [1] =0; } // B81 if((keysB [8] [2] ==0)and(lastB [8] [2] ==0)){MidiSend(noteOn2、81、velocity); lastB [8] [2] =7; } // Midi Note Offを書き込むif((keysB [8] [2] ==1)and(lastB [8] [2] ==7)){MidiSend(noteOff2、81、velocity); lastB [8] [2] =0; } // B82 if((keysB [8] [3] ==0)and(lastB [8] [3] ==0)){MidiSend(noteOn2、82、velocity); lastB [8] [3] =7; } // Midi Note Offを書き込むif((keysB [8] [3] ==1)and(lastB [8] [3] ==7)){MidiSend(noteOff2、82、velocity); lastB [8] [3] =0; } // B83 if((keysB [8] [4] ==0)and(lastB [8] [4] ==0)){MidiSend(noteOn2、83、velocity); lastB [8] [4] =7; } // Midi Note Offを書き込むif((keysB [8] [4] ==1)and(lastB [8] [4] ==7)){MidiSend(noteOff2、83、velocity); lastB [8] [4] =0; } // B84 if((keysB [8] [5] ==0)and(lastB [8] [5] ==0)){MidiSend(noteOn2、84、velocity); lastB [8] [5] =7; } // Midi Note Offを書き込むif((keysB [8] [5] ==1)and(lastB [8] [5] ==7)){MidiSend(noteOff2、84、velocity); lastB [8] [5] =0; } // B85 if((keysB [9] [0] ==0)and(lastB [9] [0] ==0)){MidiSend(noteOn2、85、velocity); lastB [9] [0] =7; } // Midi Note Offを書き込むif((keysB [9] [0] ==1)and(lastB [9] [0] ==7)){MidiSend(noteOff2、85、velocity); lastB [9] [0] =0; } // B86 if((keysB [9] [1] ==0)and(lastB [9] [1] ==0)){MidiSend(noteOn2、86、velocity); lastB [9] [1] =7; } // Midi Note Offを書き込むif((keysB [9] [1] ==1)and(lastB [9] [1] ==7)){MidiSend(noteOff2、86、velocity); lastB [9] [1] =0; } // B87 if((keysB [9] [2] ==0)and(lastB [9] [2] ==0)){MidiSend(noteOn2、87、velocity); lastB [9] [2] =7; } // Midi Note Offを書き込むif((keysB [9] [2] ==1)and(lastB [9] [2] ==7)){MidiSend(noteOff2、87、velocity); lastB [9] [2] =0; } // B88 if((keysB [9] [3] ==0)and(lastB [9] [3] ==0)){MidiSend(noteOn2、88、velocity); lastB [9] [3] =7; } // Midi Note Offを書き込むif((keysB [9] [3] ==1)and(lastB [9] [3] ==7)){MidiSend(noteOff2、88、velocity); lastB [9] [3] =0; } // B89 if((keysB [9] [4] ==0)and(lastB [9] [4] ==0)){MidiSend(noteOn2、89、velocity); lastB [9] [4] =7; } // Midi Note Offを書き込むif((keysB [9] [4] ==1)and(lastB [9] [4] ==7)){MidiSend(noteOff2、89、velocity); lastB [9] [4] =0; } // B90 if((keysB [9] [5] ==0)and(lastB [9] [5] ==0)){MidiSend(noteOn2、90、velocity); lastB [9] [5] =7; } // Midi Note Offを書き込むif((keysB [9] [5] ==1)and(lastB [9] [5] ==7)){MidiSend(noteOff2、90、velocity); lastB [9] [5] =0; } // B91 if((keysB [10] [0] ==0)and(lastB [10] [0] ==0)){MidiSend(noteOn2、91、velocity); lastB [10] [0] =7; } // Midi Note Offを書き込むif((keysB [10] [0] ==1)and(lastB [10] [0] ==7)){MidiSend(noteOff2、91、velocity); lastB [10] [0] =0; } // B92 if((keysB [10] [1] ==0)and(lastB [10] [1] ==0)){MidiSend(noteOn2、92、velocity); lastB [10] [1] =7; } // Midi Note Offを書き込むif((keysB [10] [1] ==1)and(lastB [10] [1] ==7)){MidiSend(noteOff2、92、velocity); lastB [10] [1] =0; } // B93 if((keysB [10] [2] ==0)and(lastB [10] [2] ==0)){MidiSend(noteOn2、93、velocity); lastB [10] [2] =7; } // Midi Note Offを書き込むif((keysB [10] [2] ==1)and(lastB [10] [2] ==7)){MidiSend(noteOff2、93、velocity); lastB [10] [2] =0; } // B94 if((keysB [10] [3] ==0)and(lastB [10] [3] ==0)){MidiSend(noteOn2、94、velocity); lastB [10] [3] =7; } // Midi Note Offを書き込むif((keysB [10] [3] ==1)and(lastB [10] [3] ==7)){MidiSend(noteOff2、94、velocity); lastB [10] [3] =0; } // B95 if((keysB [10] [4] ==0)and(lastB [10] [4] ==0)){MidiSend(noteOn2、95、velocity); lastB [10] [4] =7; } // Midi Note Offを書き込むif((keysB [10] [4] ==1)and(lastB [10] [4] ==7)){MidiSend(noteOff2、95、velocity); lastB [10] [4] =0; } // B96 if((keysB [10] [5] ==0)and(lastB [10] [5] ==0)){MidiSend(noteOn2、96、velocity); lastB [10] [5] =7; } // Midi Note Offを書き込むif((keysB [10] [5] ==1)and(lastB [10] [5] ==7)){MidiSend(noteOff2、96、velocity); lastB [10] [5] =0; } //キーボードCの書き込み// C36 if((keysC [0] [0] ==0)and(lastC [0] [0] ==0)){MidiSend(noteOff3、36、velocity); lastC [0] [0] =7; } if((keysC [0] [0] ==1)and(lastC [0] [0] ==7)){MidiSend(noteOn3、36、velocity); lastC [0] [0] =0; } // C37 if((keysC [1] [0] ==0)and(lastC [1] [0] ==0)){MidiSend(noteOff3、37、velocity); lastC [1] [0] =7; } if((keysC [1] [0] ==1)and(lastC [1] [0] ==7)){MidiSend(noteOn3、37、velocity); lastC [1] [0] =0; } // C38 if((keysC [1] [1] ==0)and(lastC [1] [1] ==0)){MidiSend(noteOff3、38、velocity); lastC [1] [1] =7; } // Midi Note Offを書き込むif((keysC [1] [1] ==1)and(lastC [1] [1] ==7)){MidiSend(noteOn3、38、velocity); lastC [1] [1] =0; } // C39 if((keysC [1] [2] ==0)and(lastC [1] [2] ==0)){MidiSend(noteOff3、39、velocity); lastC [1] [2] =7; } // Midi Note Offを書き込むif((keysC [1] [2] ==1)and(lastC [1] [2] ==7)){MidiSend(noteOn3、39、velocity); lastC [1] [2] =0; } // C40 if((keysC [1] [3] ==0)and(lastC [1] [3] ==0)){MidiSend(noteOff3、40、velocity); lastC [1] [3] =7; } // Midi Note Offを書き込むif((keysC [1] [3] ==1)and(lastC [1] [3] ==7)){MidiSend(noteOn3、40、velocity); lastC [1] [3] =0; } // C41 if((keysC [1] [4] ==0)and(lastC [1] [4] ==0)){MidiSend(noteOff3、41、velocity); lastC [1] [4] =7; } // Midi Note Offを書き込むif((keysC [1] [4] ==1)and(lastC [1] [4] ==7)){MidiSend(noteOn3、41、velocity); lastC [1] [4] =0; } // C42 if((keysC [1] [5] ==0)and(lastC [1] [5] ==0)){MidiSend(noteOff3、42、velocity); lastC [1] [5] =7; } //Write Midi Note Off if ((keysC[1][5] ==1) and (lastC[1][5] ==7)) { MidiSend(noteOn3, 42, velocity); lastC[1][5] =0; } //C43 if ((keysC[2][0] ==0) and (lastC[2][0] ==0)) { MidiSend(noteOff3, 43, velocity); lastC[2][0] =7; } //Write Midi Note Off if ((keysC[2][0] ==1) and (lastC[2][0] ==7)) { MidiSend(noteOn3, 43, velocity); lastC[2][0] =0; } //C44 if ((keysC[2][1] ==0) and (lastC[2][1] ==0)) { MidiSend(noteOff3, 44, velocity); lastC[2][1] =7; } //Write Midi Note Off if ((keysC[2][1] ==1) and (lastC[2][1] ==7)) { MidiSend(noteOn3, 44, velocity); lastC[2][1] =0; } //C45 if ((keysC[2][2] ==0) and (lastC[2][2] ==0)) { MidiSend(noteOff3, 45, velocity); lastC[2][2] =7; } //Write Midi Note Off if ((keysC[2][2] ==1) and (lastC[2][2] ==7)) { MidiSend(noteOn3, 45, velocity); lastC[2][2] =0; } //C46 if ((keysC[2][3] ==0) and (lastC[2][3] ==0)) { MidiSend(noteOff3, 46, velocity); lastC[2][3] =7; } //Write Midi Note Off if ((keysC[2][3] ==1) and (lastC[2][3] ==7)) { MidiSend(noteOn3, 46, velocity); lastC[2][3] =0; } //C47 if ((keysC[2][4] ==0) and (lastC[2][4] ==0)) { MidiSend(noteOff3, 47, velocity); lastC[2][4] =7; } //Write Midi Note Off if ((keysC[2][4] ==1) and (lastC[2][4] ==7)) { MidiSend(noteOn3, 47, velocity); lastC[2][4] =0; } //C48 if ((keysC[2][5] ==0) and (lastC[2][5] ==0)) { MidiSend(noteOff3, 48, velocity); lastC[2][5] =7; } //Write Midi Note Off if ((keysC[2][5] ==1) and (lastC[2][5] ==7)) { MidiSend(noteOn3, 48, velocity); lastC[2][5] =0; } //C49 if ((keysC[3][0] ==0) and (lastC[3][0] ==0)) { MidiSend(noteOff3, 49, velocity); lastC[3][0] =7; } //Write Midi Note Off if ((keysC[3][0] ==1) and (lastC[3][0] ==7)) { MidiSend(noteOn3, 49, velocity); lastC[3][0] =0; } //C50 if ((keysC[3][1] ==0) and (lastC[3][1] ==0)) { MidiSend(noteOff3, 50, velocity); lastC[3][1] =7; } //Write Midi Note Off if ((keysC[3][1] ==1) and (lastC[3][1] ==7)) { MidiSend(noteOn3, 50, velocity); lastC[3][1] =0; } //C51 if ((keysC[3][2] ==0) and (lastC[3][2] ==0)) { MidiSend(noteOff3, 51, velocity); lastC[3][2] =7; } //Write Midi Note Off if ((keysC[3][2] ==1) and (lastC[3][2] ==7)) { MidiSend(noteOn3, 51, velocity); lastC[3][2] =0; } //C52 if ((keysC[3][3] ==0) and (lastC[3][3] ==0)) { MidiSend(noteOff3, 52, velocity); lastC[3][3] =7; } //Write Midi Note Off if ((keysC[3][3] ==1) and (lastC[3][3] ==7)) { MidiSend(noteOn3, 52, velocity); lastC[3][3] =0; } //C53 if ((keysC[3][4] ==0) and (lastC[3][4] ==0)) { MidiSend(noteOff3, 53, velocity); lastC[3][4] =7; } //Write Midi Note Off if ((keysC[3][4] ==1) and (lastC[3][4] ==7)) { MidiSend(noteOn3, 53, velocity); lastC[3][4] =0; } //C54 if ((keysC[3][5] ==0) and (lastC[3][5] ==0)) { MidiSend(noteOff3, 54, velocity); lastC[3][5] =7; } //Write Midi Note Off if ((keysC[3][5] ==1) and (lastC[3][5] ==7)) { MidiSend(noteOn3, 54, velocity); lastC[3][5] =0; } //C55 if ((keysC[4][0] ==0) and (lastC[4][0] ==0)) { MidiSend(noteOff3, 55, velocity); lastC[4][0] =7; } //Write Midi Note Off if ((keysC[4][0] ==1) and (lastC[4][0] ==7)) { MidiSend(noteOn3, 55, velocity); lastC[4][0] =0; } //C56 if ((keysC[4][1] ==0) and (lastC[4][1] ==0)) { MidiSend(noteOff3, 56, velocity); lastC[4][1] =7; } //Write Midi Note Off if ((keysC[4][1] ==1) and (lastC[4][1] ==7)) { MidiSend(noteOn3, 56, velocity); lastC[4][1] =0; } //C57 if ((keysC[4][2] ==0) and (lastC[4][2] ==0)) { MidiSend(noteOff3, 57, velocity); lastC[4][2] =7; } //Write Midi Note Off if ((keysC[4][2] ==1) and (lastC[4][2] ==7)) { MidiSend(noteOn3, 57, velocity); lastC[4][2] =0; } //C58 if ((keysC[4][3] ==0) and (lastC[4][3] ==0)) { MidiSend(noteOff3, 58, velocity); lastC[4][3] =7; } //Write Midi Note Off if ((keysC[4][3] ==1) and (lastC[4][3] ==7)) { MidiSend(noteOn3, 58, velocity); lastC[4][3] =0; } //C59 if ((keysC[4][4] ==0) and (lastC[4][4] ==0)) { MidiSend(noteOff3, 59, velocity); lastC[4][4] =7; } //Write Midi Note Off if ((keysC[4][4] ==1) and (lastC[4][4] ==7)) { MidiSend(noteOn3, 59, velocity); lastC[4][4] =0; } //C60 if ((keysC[4][5] ==0) and (lastC[4][5] ==0)) { MidiSend(noteOff3, 60, velocity); lastC[4][5] =7; } //Write Midi Note Off if ((keysC[4][5] ==1) and (lastC[4][5] ==7)) { MidiSend(noteOn3, 60, velocity); lastC[4][5] =0; } //C61 if ((keysC[5][0] ==0) and (lastC[5][0] ==0)) { MidiSend(noteOff3, 61, velocity); lastC[5][0] =7; } //Write Midi Note Off if ((keysC[5][0] ==1) and (lastC[5][0] ==7)) { MidiSend(noteOn3, 61, velocity); lastC[5][0] =0; } //C62 if ((keysC[5][1] ==0) and (lastC[5][1] ==0)) { MidiSend(noteOff3, 62, velocity); lastC[5][1] =7; } //Write Midi Note Off if ((keysC[5][1] ==1) and (lastC[5][1] ==7)) { MidiSend(noteOn3, 62, velocity); lastC[5][1] =0; } //C63 if ((keysC[5][2] ==0) and (lastC[5][2] ==0)) { MidiSend(noteOff3, 63, velocity); lastC[5][2] =7; } //Write Midi Note Off if ((keysC[5][2] ==1) and (lastC[5][2] ==7)) { MidiSend(noteOn3, 63, velocity); lastC[5][2] =0; } //C64 if ((keysC[5][3] ==0) and (lastC[5][3] ==0)) { MidiSend(noteOff3, 64, velocity); lastC[5][3] =7; } //Write Midi Note Off if ((keysC[5][3] ==1) and (lastC[5][3] ==7)) { MidiSend(noteOn3, 64, velocity); lastC[5][3] =0; } //C65 if ((keysC[5][4] ==0) and (lastC[5][4] ==0)) { MidiSend(noteOff3, 65, velocity); lastC[5][4] =7; } //Write Midi Note Off if ((keysC[5][4] ==1) and (lastC[5][4] ==7)) { MidiSend(noteOn3, 65, velocity); lastC[5][4] =0; } //C66 if ((keysC[5][5] ==0) and (lastC[5][5] ==0)) { MidiSend(noteOff3, 66, velocity); lastC[5][5] =7; } //Write Midi Note Off if ((keysC[5][5] ==1) and (lastC[5][5] ==7)) { MidiSend(noteOn3, 66, velocity); lastC[5][5] =0; } //C67 if ((keysC[6][0] ==0) and (lastC[6][0] ==0)) { MidiSend(noteOff3, 67, velocity); lastC[6][0] =7; } //Write Midi Note Off if ((keysC[6][0] ==1) and (lastC[6][0] ==7)) { MidiSend(noteOn3, 67, velocity); lastC[6][0] =0; } //Expression pedal on analog pin 0 to Channel 6 int Cur6 =analogRead(0); int Map6 =map(Cur6, 0, 1023, 0, 127); if (abs(Cur6 - LastPot6)>=8) { MidiSend(chan6,Exp,Map6); LastPot6 =Cur6; } //Expression pedal on analog pin 1 to Channel 7 int Cur7 =analogRead(1); int Map7 =map(Cur7, 0, 1023, 0, 127); if (abs(Cur7 - LastPot7)>=8) { MidiSend(chan7,Exp,Map7); LastPot7 =Cur7; } }void MidiSend(int one, int two, int three) { Serial.write(one); Serial.write(two); Serial.write(three); } 
Bussed Keyboard CodeArduino
Code to upload to the Arduino if you are following the Bussed Keyboard Schematic.
// Name:Arduino Mega Midi Controller 61x4 plus 3 potentiometers.// Version 1.0// Created:April 12, 2021// Author:Larason2// Acknowledgements:Bald Engineer, Amanda Ghassaei, jeffb42, GrumpyMike//Note Databyte keysA[11][6];byte keysB[11][6];byte keysC[11][6];byte keysD[11][6];//Last Key Statebyte lastA[11][6];byte lastB[11][6];byte lastC[11][6];byte lastD[11][6];//Midi Messages Sentint noteOn1 =144;int noteOff1 =128;int noteOn2 =145;int noteOff2 =129;int noteOn3 =146;int noteOff3 =130;int noteOn4 =147;int noteOff4 =131;int velocity =100;int chan6 =181;int chan7 =182;int chan8 =183;int Exp =11;//Last Potentiometer Stateint LastPot6 =1;int LastPot7 =1;int LastPot8 =1;void setup() { // Start Serial at Midi rate Serial.begin(31250); //Initialize Pins 1-10 pinMode(2, INPUT); pinMode(3、INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, INPUT); pinMode(7, INPUT); pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10, INPUT); pinMode(11, INPUT); //Pins 11-20 pinMode(12, INPUT); pinMode(13, INPUT); pinMode(14, INPUT); pinMode(15, INPUT); pinMode(16, INPUT); pinMode(17, INPUT); pinMode(18, INPUT); pinMode(19, INPUT); pinMode(20, INPUT); pinMode(21, INPUT); //Pins 21-30 pinMode(22, INPUT); pinMode(23、INPUT); pinMode(24、INPUT); pinMode(25、INPUT); pinMode(26、INPUT); pinMode(27、INPUT); pinMode(28、INPUT); pinMode(29、INPUT); pinMode(30、INPUT); pinMode(31、INPUT); //Pins 31-40 pinMode(32, INPUT); pinMode(33、INPUT); pinMode(34、INPUT); pinMode(35、INPUT); pinMode(36、INPUT); pinMode(37、INPUT); pinMode(38、INPUT); pinMode(39、INPUT); pinMode(40、INPUT); pinMode(41、INPUT); //Pins 41-50 pinMode(42, INPUT); pinMode(43、INPUT); pinMode(44、INPUT); pinMode(45、INPUT); pinMode(46、INPUT); pinMode(47、INPUT); pinMode(48、INPUT); pinMode(49、INPUT); pinMode(50、INPUT); pinMode(51、INPUT); //Pins 51-61 pinMode(52, INPUT); pinMode(53、INPUT); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2、INPUT); pinMode(A3、INPUT); pinMode(A4、INPUT); pinMode(A5、INPUT); pinMode(A6、INPUT); pinMode(A7、INPUT); pinMode(A8、INPUT); //Column Pins pinMode(A9, INPUT); pinMode(A10、INPUT); pinMode(A11、INPUT); pinMode(A12、INPUT); //Pot Pins pinMode(A13, INPUT); pinMode(A14、INPUT); pinMode(A15, INPUT);}void loop() { // Setup pins for keyboards //Pins 1-10 pinMode(2, INPUT_PULLUP); pinMode(3、INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); pinMode(8, INPUT_PULLUP); pinMode(9, INPUT_PULLUP); pinMode(10, INPUT_PULLUP); pinMode(11, INPUT_PULLUP); //Pins 11-20 pinMode(12, INPUT_PULLUP); pinMode(13, INPUT_PULLUP); pinMode(14, INPUT_PULLUP); pinMode(15, INPUT_PULLUP); pinMode(16, INPUT_PULLUP); pinMode(17, INPUT_PULLUP); pinMode(18, INPUT_PULLUP); pinMode(19, INPUT_PULLUP); pinMode(20, INPUT_PULLUP); pinMode(21, INPUT_PULLUP); //Pins 21-30 pinMode(22, INPUT_PULLUP); pinMode(23, INPUT_PULLUP); pinMode(24、INPUT_PULLUP); pinMode(25、INPUT_PULLUP); pinMode(26、INPUT_PULLUP); pinMode(27、INPUT_PULLUP); pinMode(28、INPUT_PULLUP); pinMode(29、INPUT_PULLUP); pinMode(30、INPUT_PULLUP); pinMode(31、INPUT_PULLUP); //Pins 31-40 pinMode(32, INPUT_PULLUP); pinMode(33, INPUT_PULLUP); pinMode(34, INPUT_PULLUP); pinMode(35, INPUT_PULLUP); pinMode(36, INPUT_PULLUP); pinMode(37, INPUT_PULLUP); pinMode(38, INPUT_PULLUP); pinMode(39, INPUT_PULLUP); pinMode(40, INPUT_PULLUP); pinMode(41, INPUT_PULLUP); //Pins 41-50 pinMode(42, INPUT_PULLUP); pinMode(43, INPUT_PULLUP); pinMode(44, INPUT_PULLUP); pinMode(45, INPUT_PULLUP); pinMode(46, INPUT_PULLUP); pinMode(47, INPUT_PULLUP); pinMode(48, INPUT_PULLUP); pinMode(49, INPUT_PULLUP); pinMode(50, INPUT_PULLUP); pinMode(51, INPUT_PULLUP); //Pins 51-61 pinMode(52, INPUT_PULLUP); pinMode(53, INPUT_PULLUP); pinMode(A0, INPUT_PULLUP); pinMode(A1, INPUT_PULLUP); pinMode(A2、INPUT_PULLUP); pinMode(A3, INPUT_PULLUP); pinMode(A4、INPUT_PULLUP); pinMode(A5、INPUT_PULLUP); pinMode(A6、INPUT_PULLUP); pinMode(A7、INPUT_PULLUP); pinMode(A8, INPUT_PULLUP); //Read Keyboard A pinMode(A9, OUTPUT); digitalWrite(A9、LOW); //Keys 1-10 keysA[0][0] =digitalRead(2); keysA[1][0] =digitalRead(3); keysA[1][1] =digitalRead(4); keysA[1][2] =digitalRead(5); keysA[1][3] =digitalRead(6); keysA[1][4] =digitalRead(7); keysA[1][5] =digitalRead(8); keysA[2][0] =digitalRead(9); keysA[2][1] =digitalRead(10); keysA[2][2] =digitalRead(11); //Keys 11-20 keysA[2][3] =digitalRead(12); keysA[2][4] =digitalRead(13); keysA[2][5] =digitalRead(14); keysA[3][0] =digitalRead(15); keysA[3][1] =digitalRead(16); keysA[3][2] =digitalRead(17); keysA[3][3] =digitalRead(18); keysA[3][4] =digitalRead(19); keysA[3][5] =digitalRead(20); keysA[4][0] =digitalRead(21); //Keys 21-30 keysA[4][1] =digitalRead(22); keysA[4][2] =digitalRead(23); keysA[4][3] =digitalRead(24); keysA[4][4] =digitalRead(25); keysA[4][5] =digitalRead(26); keysA[5][0] =digitalRead(27); keysA[5][1] =digitalRead(28); keysA[5][2] =digitalRead(29); keysA[5][3] =digitalRead(30); keysA[5][4] =digitalRead(31); //Keys 31-40 keysA[5][5] =digitalRead(32); keysA[6][0] =digitalRead(33); keysA[6][1] =digitalRead(34); keysA[6][2] =digitalRead(35); keysA[6][3] =digitalRead(36); keysA[6][4] =digitalRead(37); keysA[6][5] =digitalRead(38); keysA[7][0] =digitalRead(39); keysA[7][1] =digitalRead(40); keysA[7][2] =digitalRead(41); //Keys 41-50 keysA[7][3] =digitalRead(42); keysA[7][4] =digitalRead(43); keysA[7][5] =digitalRead(44); keysA[8][0] =digitalRead(45); keysA[8][1] =digitalRead(46); keysA[8][2] =digitalRead(47); keysA[8][3] =digitalRead(48); keysA[8][4] =digitalRead(49); keysA[8][5] =digitalRead(50); keysA[9][0] =digitalRead(51); //Keys 51-61 keysA[9][1] =digitalRead(52); keysA[9][2] =digitalRead(53); keysA[9][3] =digitalRead(A0); keysA[9][4] =digitalRead(A1); keysA[9][5] =digitalRead(A2); keysA[10][0] =digitalRead(A3); keysA[10][1] =digitalRead(A4); keysA[10][2] =digitalRead(A5); keysA[10][3] =digitalRead(A6); keysA[10][4] =digitalRead(A7); keysA[10][5] =digitalRead(A8); pinMode(A9、INPUT); // Read Keyboard B pinMode(A10, OUTPUT); digitalWrite(A10、LOW); //Keys 1-10 keysB[0][0] =digitalRead(2); keysB[1][0] =digitalRead(3); keysB[1][1] =digitalRead(4); keysB[1][2] =digitalRead(5); keysB[1][3] =digitalRead(6); keysB[1][4] =digitalRead(7); keysB[1][5] =digitalRead(8); keysB[2][0] =digitalRead(9); keysB[2][1] =digitalRead(10); keysB[2][2] =digitalRead(11); //Keys 11-20 keysB[2][3] =digitalRead(12); keysB[2][4] =digitalRead(13); keysB[2][5] =digitalRead(14); keysB[3][0] =digitalRead(15); keysB[3][1] =digitalRead(16); keysB[3][2] =digitalRead(17); keysB[3][3] =digitalRead(18); keysB[3][4] =digitalRead(19); keysB[3][5] =digitalRead(20); keysB[4][0] =digitalRead(21); //Keys 21-30 keysB[4][1] =digitalRead(22); keysB[4][2] =digitalRead(23); keysB[4][3] =digitalRead(24); keysB[4][4] =digitalRead(25); keysB[4][5] =digitalRead(26); keysB[5][0] =digitalRead(27); keysB[5][1] =digitalRead(28); keysB[5][2] =digitalRead(29); keysB[5][3] =digitalRead(30); keysB [5] [4] =digitalRead(31); //Keys 31-40 keysB[5][5] =digitalRead(32); keysB[6][0] =digitalRead(33); keysB[6][1] =digitalRead(34); keysB[6][2] =digitalRead(35); keysB[6][3] =digitalRead(36); keysB[6][4] =digitalRead(37); keysB[6][5] =digitalRead(38); keysB[7][0] =digitalRead(39); keysB[7][1] =digitalRead(40); keysB[7][2] =digitalRead(41); //Keys 41-50 keysB[7][3] =digitalRead(42); keysB[7][4] =digitalRead(43); keysB[7][5] =digitalRead(44); keysB[8][0] =digitalRead(45); keysB[8][1] =digitalRead(46); keysB[8][2] =digitalRead(47); keysB[8][3] =digitalRead(48); keysB[8][4] =digitalRead(49); keysB[8][5] =digitalRead(50); keysB[9][0] =digitalRead(51); //Keys 51-61 keysB[9][1] =digitalRead(52); keysB[9][2] =digitalRead(53); keysB[9][3] =digitalRead(A0); keysB[9][4] =digitalRead(A1); keysB[9][5] =digitalRead(A2); keysB[10][0] =digitalRead(A3); keysB[10][1] =digitalRead(A4); keysB[10][2] =digitalRead(A5); keysB[10][3] =digitalRead(A6); keysB[10][4] =digitalRead(A7); keysB[10][5] =digitalRead(A8); pinMode(A10、INPUT); // Read Keyboard C pinMode(A11, OUTPUT); digitalWrite(A11、LOW); //Keys 1-10 keysC[0][0] =digitalRead(2); keysC[1][0] =digitalRead(3); keysC[1][1] =digitalRead(4); keysC[1][2] =digitalRead(5); keysC[1][3] =digitalRead(6); keysC[1][4] =digitalRead(7); keysC[1][5] =digitalRead(8); keysC[2][0] =digitalRead(9); keysC[2][1] =digitalRead(10); keysC[2][2] =digitalRead(11); //Keys 11-20 keysC[2][3] =digitalRead(12); keysC[2][4] =digitalRead(13); keysC[2][5] =digitalRead(14); keysC[3][0] =digitalRead(15); keysC[3][1] =digitalRead(16); keysC[3][2] =digitalRead(17); keysC[3][3] =digitalRead(18); keysC[3][4] =digitalRead(19); keysC[3][5] =digitalRead(20); keysC[4][0] =digitalRead(21); //Keys 21-30 keysC[4][1] =digitalRead(22); keysC[4][2] =digitalRead(23); keysC[4][3] =digitalRead(24); keysC[4][4] =digitalRead(25); keysC[4][5] =digitalRead(26); keysC[5][0] =digitalRead(27); keysC[5][1] =digitalRead(28); keysC[5][2] =digitalRead(29); keysC[5][3] =digitalRead(30); keysC[5][4] =digitalRead(31); //Keys 31-40 keysC[5][5] =digitalRead(32); keysC[6][0] =digitalRead(33); keysC[6][1] =digitalRead(34); keysC[6][2] =digitalRead(35); keysC[6][3] =digitalRead(36); keysC[6][4] =digitalRead(37); keysC[6][5] =digitalRead(38); keysC[7][0] =digitalRead(39); keysC[7][1] =digitalRead(40); keysC[7][2] =digitalRead(41); //Keys 41-50 keysC[7][3] =digitalRead(42); keysC[7][4] =digitalRead(43); keysC[7][5] =digitalRead(44); keysC[8][0] =digitalRead(45); keysC[8][1] =digitalRead(46); keysC[8][2] =digitalRead(47); keysC[8][3] =digitalRead(48); keysC[8][4] =digitalRead(49); keysC[8][5] =digitalRead(50); keysC[9][0] =digitalRead(51); //Keys 51-61 keysC[9][1] =digitalRead(52); keysC[9][2] =digitalRead(53); keysC[9][3] =digitalRead(A0); keysC[9][4] =digitalRead(A1); keysC[9][5] =digitalRead(A2); keysC[10][0] =digitalRead(A3); keysC[10][1] =digitalRead(A4); keysC[10][2] =digitalRead(A5); keysC[10][3] =digitalRead(A6); keysC[10][4] =digitalRead(A7); keysC[10][5] =digitalRead(A8); pinMode(A11、INPUT); // Read Keyboard D pinMode(A12, OUTPUT); digitalWrite(A12、LOW); //Keys 1-10 keysD[0][0] =digitalRead(2); keysD[1][0] =digitalRead(3); keysD[1][1] =digitalRead(4); keysD[1][2] =digitalRead(5); keysD[1][3] =digitalRead(6); keysD[1][4] =digitalRead(7); keysD[1][5] =digitalRead(8); keysD[2][0] =digitalRead(9); keysD[2][1] =digitalRead(10); keysD[2][2] =digitalRead(11); //Keys 11-20 keysD[2][3] =digitalRead(12); keysD[2][4] =digitalRead(13); keysD[2][5] =digitalRead(14); keysD[3][0] =digitalRead(15); keysD[3][1] =digitalRead(16); keysD[3][2] =digitalRead(17); keysD[3][3] =digitalRead(18); keysD[3][4] =digitalRead(19); keysD[3][5] =digitalRead(20); keysD[4][0] =digitalRead(21); //Keys 21-30 keysD[4][1] =digitalRead(22); keysD[4][2] =digitalRead(23); keysD[4][3] =digitalRead(24); keysD[4][4] =digitalRead(25); keysD[4][5] =digitalRead(26); keysD[5][0] =digitalRead(27); keysD[5][1] =digitalRead(28); keysD[5][2] =digitalRead(29); keysD[5][3] =digitalRead(30); keysD[5][4] =digitalRead(31); //Keys 31-40 keysD[5][5] =digitalRead(32); keysD[6][0] =digitalRead(33); keysD[6][1] =digitalRead(34); keysD[6][2] =digitalRead(35); keysD[6][3] =digitalRead(36); keysD[6][4] =digitalRead(37); keysD[6][5] =digitalRead(38); keysD[7][0] =digitalRead(39); keysD[7][1] =digitalRead(40); keysD[7][2] =digitalRead(41); //Keys 41-50 keysD[7][3] =digitalRead(42); keysD[7][4] =digitalRead(43); keysD[7][5] =digitalRead(44); keysD[8][0] =digitalRead(45); keysD[8][1] =digitalRead(46); keysD[8][2] =digitalRead(47); keysD[8][3] =digitalRead(48); keysD[8][4] =digitalRead(49); keysD[8][5] =digitalRead(50); keysD[9][0] =digitalRead(51); //Keys 51-61 keysD[9][1] =digitalRead(52); keysD[9][2] =digitalRead(53); keysD[9][3] =digitalRead(A0); keysD[9][4] =digitalRead(A1); keysD[9][5] =digitalRead(A2); keysD[10][0] =digitalRead(A3); keysD[10][1] =digitalRead(A4); keysD[10][2] =digitalRead(A5); keysD[10][3] =digitalRead(A6); keysD[10][4] =digitalRead(A7); keysD[10][5] =digitalRead(A8); pinMode(A12、INPUT); //Return pins to Initialized state //Pins 1-10 pinMode(2, INPUT); pinMode(3、INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, INPUT); pinMode(7, INPUT); pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10, INPUT); pinMode(11, INPUT); //Pins 11-20 pinMode(12, INPUT); pinMode(13, INPUT); pinMode(14, INPUT); pinMode(15, INPUT); pinMode(16, INPUT); pinMode(17, INPUT); pinMode(18, INPUT); pinMode(19, INPUT); pinMode(20, INPUT); pinMode(21, INPUT); //Pins 21-30 pinMode(22, INPUT); pinMode(23、INPUT); pinMode(24、INPUT); pinMode(25、INPUT); pinMode(26、INPUT); pinMode(27、INPUT); pinMode(28、INPUT); pinMode(29、INPUT); pinMode(30、INPUT); pinMode(31、INPUT); //Pins 31-40 pinMode(32, INPUT); pinMode(33、INPUT); pinMode(34、INPUT); pinMode(35、INPUT); pinMode(36、INPUT); pinMode(37、INPUT); pinMode(38、INPUT); pinMode(39、INPUT); pinMode(40、INPUT); pinMode(41、INPUT); //Pins 41-50 pinMode(42, INPUT); pinMode(43、INPUT); pinMode(44、INPUT); pinMode(45、INPUT); pinMode(46、INPUT); pinMode(47、INPUT); pinMode(48、INPUT); pinMode(49、INPUT); pinMode(50、INPUT); pinMode(51、INPUT); //Pins 51-61 pinMode(52, INPUT); pinMode(53、INPUT); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2、INPUT); pinMode(A3、INPUT); pinMode(A4、INPUT); pinMode(A5、INPUT); pinMode(A6、INPUT); pinMode(A7、INPUT); pinMode(A8、INPUT); //Column Pins pinMode(A9, INPUT); pinMode(A10、INPUT); pinMode(A11、INPUT); pinMode(A12、INPUT); //Pot Pins pinMode(A13, INPUT); pinMode(A14、INPUT); pinMode(A15, INPUT); /* //Invert Keyboard data only if needed. //Example only for 32 pedals of a pedalboard, first 32 keys of keyboard C. //Column 1 if (keysC[0][0] ==0) { keysC[0][0] =1; } else if (keysC[0][0] ==1) { keysC[0][0] =0; } //Column 2 if (keysC[1][0] ==0) { keysC[1][0] =1; } else if (keysC[1][0] ==1) { keysC[1][0] =0; } if (keysC[1][1] ==0) { keysC[1][1] =1; } else if (keysC[1][1] ==1) { keysC[1][1] =0; } if (keysC[1][2] ==0) { keysC[1][2] =1; } else if (keysC[1][2] ==1) { keysC[1][2] =0; } if (keysC[1][3] ==0) { keysC[1][3] =1; } else if (keysC[1][3] ==1) { keysC[1][3] =0; } if (keysC[1][4] ==0) { keysC[1][4] =1; } else if (keysC[1][4] ==1) { keysC[1][4] =0; } if (keysC[1][5] ==0) { keysC[1][5] =1; } else if (keysC[1][5] ==1) { keysC[1][5] =0; } //Column 3 if (keysC[2][0] ==0) { keysC[2][0] =1; } else if (keysC[2][0] ==1) { keysC[2][0] =0; } if (keysC[2][1] ==0) { keysC[2][1] =1; } else if (keysC[2][1] ==1) { keysC[2][1] =0; } if (keysC[2][2] ==0) { keysC[2][2] =1; } else if (keysC[2][2] ==1) { keysC[2][2] =0; } if (keysC[2][3] ==0) { keysC[2][3] =1; } else if (keysC[2][3] ==1) { keysC[2][3] =0; } if (keysC[2][4] ==0) { keysC[2][4] =1; } else if (keysC[2][4] ==1) { keysC[2][4] =0; } if (keysC[2][5] ==0) { keysC[2][5] =1; } else if (keysC[2][5] ==1) { keysC[2][5] =0; } //Column 4 if (keysC[3][0] ==0) { keysC[3][0] =1; } else if (keysC[3][0] ==1) { keysC[3][0] =0; } if (keysC[3][1] ==0) { keysC[3][1] =1; } else if (keysC[3][1] ==1) { keysC[3][1] =0; } if (keysC[3][2] ==0) { keysC[3][2] =1; } else if (keysC[3][2] ==1) { keysC[3][2] =0; } if (keysC[3][3] ==0) { keysC[3][3] =1; } else if (keysC[3][3] ==1) { keysC[3][3] =0; } if (keysC[3][4] ==0) { keysC[3][4] =1; } else if (keysC[3][4] ==1) { keysC[3][4] =0; } if (keysC[3][5] ==0) { keysC[3][5] =1; } else if (keysC[3][5] ==1) { keysC[3][5] =0; } //Column 5 if (keysC[4][0] ==0) { keysC[4][0] =1; } else if (keysC[4][0] ==1) { keysC[4][0] =0; } if (keysC[4][1] ==0) { keysC[4][1] =1; } else if (keysC[4][1] ==1) { keysC[4][1] =0; } if (keysC[4][2] ==0) { keysC[4][2] =1; } else if (keysC[4][2] ==1) { keysC[4][2] =0; } if (keysC[4][3] ==0) { keysC[4][3] =1; } else if (keysC[4][3] ==1) { keysC[4][3] =0; } if (keysC[4][4] ==0) { keysC[4][4] =1; } else if (keysC[4][4] ==1) { keysC[4][4] =0; } if (keysC[4][5] ==0) { keysC[4][5] =1; } else if (keysC[4][5] ==1) { keysC[4][5] =0; } //Column 6 if (keysC[5][0] ==0) { keysC[5][0] =1; } else if (keysC[5][0] ==1) { keysC[5][0] =0; } if (keysC[5][1] ==0) { keysC[5][1] =1; } else if (keysC[5][1] ==1) { keysC[5][1] =0; } if (keysC[5][2] ==0) { keysC[5][2] =1; } else if (keysC[5][2] ==1) { keysC[5][2] =0; } if (keysC[5][3] ==0) { keysC[5][3] =1; } else if (keysC[5][3] ==1) { keysC[5][3] =0; } if (keysC[5][4] ==0) { keysC[5][4] =1; } else if (keysC[5][4] ==1) { keysC[5][4] =0; } if (keysC[5][5] ==0) { keysC[5][5] =1; } else if (keysC[5][5] ==1) { keysC[5][5] =0; } //Column 7 if (keysC[6][0] ==0) { keysC[6][0] =1; } else if (keysC[6][0] ==1) { keysC[6][0] =0; } */ //Write Keyboard A //A36 if ((keysA[0][0] ==0) and (lastA[0][0] ==0)) { MidiSend(noteOn1, 36, velocity); lastA [0] [0] =7; } if ((keysA[0][0] ==1) and (lastA[0][0] ==7)) { MidiSend(noteOff1, 36, velocity); lastA [0] [0] =0; } //A37 if ((keysA[1][0] ==0) and (lastA[1][0] ==0)) { MidiSend(noteOn1, 37, velocity); lastA [1] [0] =7; } if ((keysA[1][0] ==1) and (lastA[1][0] ==7)) { MidiSend(noteOff1, 37, velocity); lastA [1] [0] =0; } //A38 if ((keysA[1][1] ==0) and (lastA[1][1] ==0)) { MidiSend(noteOn1, 38, velocity); lastA [1] [1] =7; } //Write Midi Note Off if ((keysA[1][1] ==1) and (lastA[1][1] ==7)) { MidiSend(noteOff1, 38, velocity); lastA [1] [1] =0; } //A39 if ((keysA[1][2] ==0) and (lastA[1][2] ==0)) { MidiSend(noteOn1, 39, velocity); lastA [1] [2] =7; } //Write Midi Note Off if ((keysA[1][2] ==1) and (lastA[1][2] ==7)) { MidiSend(noteOff1, 39, velocity); lastA [1] [2] =0; } //A40 if ((keysA[1][3] ==0) and (lastA[1][3] ==0)) { MidiSend(noteOn1, 40, velocity); lastA [1] [3] =7; } //Write Midi Note Off if ((keysA[1][3] ==1) and (lastA[1][3] ==7)) { MidiSend(noteOff1, 40, velocity); lastA [1] [3] =0; } //A41 if ((keysA[1][4] ==0) and (lastA[1][4] ==0)) { MidiSend(noteOn1, 41, velocity); lastA [1] [4] =7; } //Write Midi Note Off if ((keysA[1][4] ==1) and (lastA[1][4] ==7)) { MidiSend(noteOff1, 41, velocity); lastA [1] [4] =0; } //A42 if ((keysA[1][5] ==0) and (lastA[1][5] ==0)) { MidiSend(noteOn1, 42, velocity); lastA [1] [5] =7; } //Write Midi Note Off if ((keysA[1][5] ==1) and (lastA[1][5] ==7)) { MidiSend(noteOff1, 42, velocity); lastA [1] [5] =0; } //A43 if ((keysA[2][0] ==0) and (lastA[2][0] ==0)) { MidiSend(noteOn1, 43, velocity); lastA [2] [0] =7; } //Write Midi Note Off if ((keysA[2][0] ==1) and (lastA[2][0] ==7)) { MidiSend(noteOff1, 43, velocity); lastA [2] [0] =0; } //A44 if ((keysA[2][1] ==0) and (lastA[2][1] ==0)) { MidiSend(noteOn1, 44, velocity); lastA [2] [1] =7; } //Write Midi Note Off if ((keysA[2][1] ==1) and (lastA[2][1] ==7)) { MidiSend(noteOff1, 44, velocity); lastA [2] [1] =0; } //A45 if ((keysA[2][2] ==0) and (lastA[2][2] ==0)) { MidiSend(noteOn1, 45, velocity); lastA [2] [2] =7; } //Write Midi Note Off if ((keysA[2][2] ==1) and (lastA[2][2] ==7)) { MidiSend(noteOff1, 45, velocity); lastA [2] [2] =0; } //A46 if ((keysA[2][3] ==0) and (lastA[2][3] ==0)) { MidiSend(noteOn1, 46, velocity); lastA [2] [3] =7; } //Write Midi Note Off if ((keysA[2][3] ==1) and (lastA[2][3] ==7)) { MidiSend(noteOff1, 46, velocity); lastA [2] [3] =0; } //A47 if ((keysA[2][4] ==0) and (lastA[2][4] ==0)) { MidiSend(noteOn1, 47, velocity); lastA [2] [4] =7; } //Write Midi Note Off if ((keysA[2][4] ==1) and (lastA[2][4] ==7)) { MidiSend(noteOff1, 47, velocity); lastA [2] [4] =0; } //A48 if ((keysA[2][5] ==0) and (lastA[2][5] ==0)) { MidiSend(noteOn1, 48, velocity); lastA [2] [5] =7; } //Write Midi Note Off if ((keysA[2][5] ==1) and (lastA[2][5] ==7)) { MidiSend(noteOff1, 48, velocity); lastA [2] [5] =0; } //A49 if ((keysA[3][0] ==0) and (lastA[3][0] ==0)) { MidiSend(noteOn1, 49, velocity); lastA [3] [0] =7; } //Write Midi Note Off if ((keysA[3][0] ==1) and (lastA[3][0] ==7)) { MidiSend(noteOff1, 49, velocity); lastA [3] [0] =0; } //A50 if ((keysA[3][1] ==0) and (lastA[3][1] ==0)) { MidiSend(noteOn1, 50, velocity); lastA [3] [1] =7; } //Write Midi Note Off if ((keysA[3][1] ==1) and (lastA[3][1] ==7)) { MidiSend(noteOff1, 50, velocity); lastA [3] [1] =0; } //A51 if ((keysA[3][2] ==0) and (lastA[3][2] ==0)) { MidiSend(noteOn1, 51, velocity); lastA [3] [2] =7; } //Write Midi Note Off if ((keysA[3][2] ==1) and (lastA[3][2] ==7)) { MidiSend(noteOff1, 51, velocity); lastA [3] [2] =0; } //A52 if ((keysA[3][3] ==0) and (lastA[3][3] ==0)) { MidiSend(noteOn1, 52, velocity); lastA [3] [3] =7; } //Write Midi Note Off if ((keysA[3][3] ==1) and (lastA[3][3] ==7)) { MidiSend(noteOff1, 52, velocity); lastA [3] [3] =0; } //A53 if ((keysA[3][4] ==0) and (lastA[3][4] ==0)) { MidiSend(noteOn1, 53, velocity); lastA [3] [4] =7; } //Write Midi Note Off if ((keysA[3][4] ==1) and (lastA[3][4] ==7)) { MidiSend(noteOff1, 53, velocity); lastA [3] [4] =0; } //A54 if ((keysA[3][5] ==0) and (lastA[3][5] ==0)) { MidiSend(noteOn1, 54, velocity); lastA [3] [5] =7; } //Write Midi Note Off if ((keysA[3][5] ==1) and (lastA[3][5] ==7)) { MidiSend(noteOff1, 54, velocity); lastA [3] [5] =0; } //A55 if ((keysA[4][0] ==0) and (lastA[4][0] ==0)) { MidiSend(noteOn1, 55, velocity); lastA [4] [0] =7; } //Write Midi Note Off if ((keysA[4][0] ==1) and (lastA[4][0] ==7)) { MidiSend(noteOff1, 55, velocity); lastA [4] [0] =0; } //A56 if ((keysA[4][1] ==0) and (lastA[4][1] ==0)) { MidiSend(noteOn1, 56, velocity); lastA [4] [1] =7; } //Write Midi Note Off if ((keysA[4][1] ==1) and (lastA[4][1] ==7)) { MidiSend(noteOff1, 56, velocity); lastA [4] [1] =0; } //A57 if ((keysA[4][2] ==0) and (lastA[4][2] ==0)) { MidiSend(noteOn1, 57, velocity); lastA [4] [2] =7; } //Write Midi Note Off if ((keysA[4][2] ==1) and (lastA[4][2] ==7)) { MidiSend(noteOff1, 57, velocity); lastA [4] [2] =0; } //A58 if ((keysA[4][3] ==0) and (lastA[4][3] ==0)) { MidiSend(noteOn1, 58, velocity); lastA [4] [3] =7; } //Write Midi Note Off if ((keysA[4][3] ==1) and (lastA[4][3] ==7)) { MidiSend(noteOff1, 58, velocity); lastA [4] [3] =0; } //59 if ((keysA[4][4] ==0) and (lastA[4][4] ==0)) { MidiSend(noteOn1, 59, velocity); lastA [4] [4] =7; } //Write Midi Note Off if ((keysA[4][4] ==1) and (lastA[4][4] ==7)) { MidiSend(noteOff1, 59, velocity); lastA [4] [4] =0; } //A60 if ((keysA[4][5] ==0) and (lastA[4][5] ==0)) { MidiSend(noteOn1, 60, velocity); lastA [4] [5] =7; } //Write Midi Note Off if ((keysA[4][5] ==1) and (lastA[4][5] ==7)) { MidiSend(noteOff1, 60, velocity); lastA [4] [5] =0; } //A61 if ((keysA[5][0] ==0) and (lastA[5][0] ==0)) { MidiSend(noteOn1, 61, velocity); lastA [5] [0] =7; } //Write Midi Note Off if ((keysA[5][0] ==1) and (lastA[5][0] ==7)) { MidiSend(noteOff1, 61, velocity); lastA [5] [0] =0; } //A62 if ((keysA[5][1] ==0) and (lastA[5][1] ==0)) { MidiSend(noteOn1, 62, velocity); lastA [5] [1] =7; } //Write Midi Note Off if ((keysA[5][1] ==1) and (lastA[5][1] ==7)) { MidiSend(noteOff1, 62, velocity); lastA [5] [1] =0; } //A63 if ((keysA[5][2] ==0) and (lastA[5][2] ==0)) { MidiSend(noteOn1, 63, velocity); lastA [5] [2] =7; } //Write Midi Note Off if ((keysA[5][2] ==1) and (lastA[5][2] ==7)) { MidiSend(noteOff1, 63, velocity); lastA [5] [2] =0; } //A64 if ((keysA[5][3] ==0) and (lastA[5][3] ==0)) { MidiSend(noteOn1, 64, velocity); lastA [5] [3] =7; } //Write Midi Note Off if ((keysA[5][3] ==1) and (lastA[5][3] ==7)) { MidiSend(noteOff1, 64, velocity); lastA [5] [3] =0; } //A65 if ((keysA[5][4] ==0) and (lastA[5][4] ==0)) { MidiSend(noteOn1, 65, velocity); lastA [5] [4] =7; } //Write Midi Note Off if ((keysA[5][4] ==1) and (lastA[5][4] ==7)) { MidiSend(noteOff1, 65, velocity); lastA [5] [4] =0; } //A66 if ((keysA[5][5] ==0) and (lastA[5][5] ==0)) { MidiSend(noteOn1, 66, velocity); lastA [5] [5] =7; } //Write Midi Note Off if ((keysA[5][5] ==1) and (lastA[5][5] ==7)) { MidiSend(noteOff1, 66, velocity); lastA [5] [5] =0; } //A67 if ((keysA[6][0] ==0) and (lastA[6][0] ==0)) { MidiSend(noteOn1, 67, velocity); lastA [6] [0] =7; } //Write Midi Note Off if ((keysA[6][0] ==1) and (lastA[6][0] ==7)) { MidiSend(noteOff1, 67, velocity); lastA [6] [0] =0; } //A68 if ((keysA[6][1] ==0) and (lastA[6][1] ==0)) { MidiSend(noteOn1, 68, velocity); lastA [6] [1] =7; } //Write Midi Note Off if ((keysA[6][1] ==1) and (lastA[6][1] ==7)) { MidiSend(noteOff1, 68, velocity); lastA [6] [1] =0; } //A69 if ((keysA[6][2] ==0) and (lastA[6][2] ==0)) { MidiSend(noteOn1, 69, velocity); lastA [6] [2] =7; } //Write Midi Note Off if ((keysA[6][2] ==1) and (lastA[6][2] ==7)) { MidiSend(noteOff1, 69, velocity); lastA [6] [2] =0; } //A70 if ((keysA[6][3] ==0) and (lastA[6][3] ==0)) { MidiSend(noteOn1, 70, velocity); lastA [6] [3] =7; } //Write Midi Note Off if ((keysA[6][3] ==1) and (lastA[6][3] ==7)) { MidiSend(noteOff1, 70, velocity); lastA [6] [3] =0; } //A71 if ((keysA[6][4] ==0) and (lastA[6][4] ==0)) { MidiSend(noteOn1, 71, velocity); lastA [6] [4] =7; } //Write Midi Note Off if ((keysA[6][4] ==1) and (lastA[6][4] ==7)) { MidiSend(noteOff1, 71, velocity); lastA [6] [4] =0; } //A72 if ((keysA[6][5] ==0) and (lastA[6][5] ==0)) { MidiSend(noteOn1, 72, velocity); lastA [6] [5] =7; } //Write Midi Note Off if ((keysA[6][5] ==1) and (lastA[6][5] ==7)) { MidiSend(noteOff1, 72, velocity); lastA [6] [5] =0; } //A73 if ((keysA[7][0] ==0) and (lastA[7][0] ==0)) { MidiSend(noteOn1, 73, velocity); lastA [7] [0] =7; } //Write Midi Note Off if ((keysA[7][0] ==1) and (lastA[7][0] ==7)) { MidiSend(noteOff1, 73, velocity); lastA [7] [0] =0; } //A74 if ((keysA[7][1] ==0) and (lastA[7][1] ==0)) { MidiSend(noteOn1, 74, velocity); lastA [7] [1] =7; } //Write Midi Note Off if ((keysA[7][1] ==1) and (lastA[7][1] ==7)) { MidiSend(noteOff1, 74, velocity); lastA [7] [1] =0; } //A75 if ((keysA[7][2] ==0) and (lastA[7][2] ==0)) { MidiSend(noteOn1, 75, velocity); lastA [7] [2] =7; } //Write Midi Note Off if ((keysA[7][2] ==1) and (lastA[7][2] ==7)) { MidiSend(noteOff1, 75, velocity); lastA [7] [2] =0; } //A76 if ((keysA[7][3] ==0) and (lastA[7][3] ==0)) { MidiSend(noteOn1, 76, velocity); lastA [7] [3] =7; } //Write Midi Note Off if ((keysA[7][3] ==1) and (lastA[7][3] ==7)) { MidiSend(noteOff1, 76, velocity); lastA [7] [3] =0; } //A77 if ((keysA[7][4] ==0) and (lastA[7][4] ==0)) { MidiSend(noteOn1, 77, velocity); lastA [7] [4] =7; } //Write Midi Note Off if ((keysA[7][4] ==1) and (lastA[7][4] ==7)) { MidiSend(noteOff1, 77, velocity); lastA [7] [4] =0; } //A78 if ((keysA[7][5] ==0) and (lastA[7][5] ==0)) { MidiSend(noteOn1, 78, velocity); lastA [7] [5] =7; } //Write Midi Note Off if ((keysA[7][5] ==1) and (lastA[7][5] ==7)) { MidiSend(noteOff1, 78, velocity); lastA [7] [5] =0; } //A79 if ((keysA[8][0] ==0) and (lastA[8][0] ==0)) { MidiSend(noteOn1, 79, velocity); lastA [8] [0] =7; } //Write Midi Note Off if ((keysA[8][0] ==1) and (lastA[8][0] ==7)) { MidiSend(noteOff1, 79, velocity); lastA [8] [0] =0; } //A80 if ((keysA[8][1] ==0) and (lastA[8][1] ==0)) { MidiSend(noteOn1, 80, velocity); lastA [8] [1] =7; } //Write Midi Note Off if ((keysA[8][1] ==1) and (lastA[8][1] ==7)) { MidiSend(noteOff1, 80, velocity); lastA [8] [1] =0; } //A81 if ((keysA[8][2] ==0) and (lastA[8][2] ==0)) { MidiSend(noteOn1, 81, velocity); lastA [8] [2] =7; } //Write Midi Note Off if ((keysA[8][2] ==1) and (lastA[8][2] ==7)) { MidiSend(noteOff1, 81, velocity); lastA [8] [2] =0; } //A82 if ((keysA[8][3] ==0) and (lastA[8][3] ==0)) { MidiSend(noteOn1, 82, velocity); lastA [8] [3] =7; } //Write Midi Note Off if ((keysA[8][3] ==1) and (lastA[8][3] ==7)) { MidiSend(noteOff1, 82, velocity); lastA [8] [3] =0; } //A83 if ((keysA[8][4] ==0) and (lastA[8][4] ==0)) { MidiSend(noteOn1, 83, velocity); lastA [8] [4] =7; } //Write Midi Note Off if ((keysA[8][4] ==1) and (lastA[8][4] ==7)) { MidiSend(noteOff1, 83, velocity); lastA [8] [4] =0; } //A84 if ((keysA[8][5] ==0) and (lastA[8][5] ==0)) { MidiSend(noteOn1, 84, velocity); lastA [8] [5] =7; } //Write Midi Note Off if ((keysA[8][5] ==1) and (lastA[8][5] ==7)) { MidiSend(noteOff1, 84, velocity); lastA [8] [5] =0; } //A85 if ((keysA[9][0] ==0) and (lastA[9][0] ==0)) { MidiSend(noteOn1, 85, velocity); lastA [9] [0] =7; } //Write Midi Note Off if ((keysA[9][0] ==1) and (lastA[9][0] ==7)) { MidiSend(noteOff1, 85, velocity); lastA [9] [0] =0; } //A86 if ((keysA[9][1] ==0) and (lastA[9][1] ==0)) { MidiSend(noteOn1, 86, velocity); lastA [9] [1] =7; } //Write Midi Note Off if ((keysA[9][1] ==1) and (lastA[9][1] ==7)) { MidiSend(noteOff1, 86, velocity); lastA [9] [1] =0; } //A87 if ((keysA[9][2] ==0) and (lastA[9][2] ==0)) { MidiSend(noteOn1, 87, velocity); lastA [9] [2] =7; } //Write Midi Note Off if ((keysA[9][2] ==1) and (lastA[9][2] ==7)) { MidiSend(noteOff1, 87, velocity); lastA [9] [2] =0; } //A88 if ((keysA[9][3] ==0) and (lastA[9][3] ==0)) { MidiSend(noteOn1, 88, velocity); lastA [9] [3] =7; } //Write Midi Note Off if ((keysA[9][3] ==1) and (lastA[9][3] ==7)) { MidiSend(noteOff1, 88, velocity); lastA [9] [3] =0; } //A89 if ((keysA[9][4] ==0) and (lastA[9][4] ==0)) { MidiSend(noteOn1, 89, velocity); lastA [9] [4] =7; } //Write Midi Note Off if ((keysA[9][4] ==1) and (lastA[9][4] ==7)) { MidiSend(noteOff1, 89, velocity); lastA [9] [4] =0; } //A90 if ((keysA[9][5] ==0) and (lastA[9][5] ==0)) { MidiSend(noteOn1, 90, velocity); lastA [9] [5] =7; } //Write Midi Note Off if ((keysA[9][5] ==1) and (lastA[9][5] ==7)) { MidiSend(noteOff1, 90, velocity); lastA [9] [5] =0; } //A91 if ((keysA[10][0] ==0) and (lastA[10][0] ==0)) { MidiSend(noteOn1, 91, velocity); lastA [10] [0] =7; } //Write Midi Note Off if ((keysA[10][0] ==1) and (lastA[10][0] ==7)) { MidiSend(noteOff1, 91, velocity); lastA [10] [0] =0; } //A92 if ((keysA[10][1] ==0) and (lastA[10][1] ==0)) { MidiSend(noteOn1, 92, velocity); lastA [10] [1] =7; } //Write Midi Note Off if ((keysA[10][1] ==1) and (lastA[10][1] ==7)) { MidiSend(noteOff1, 92, velocity); lastA [10] [1] =0; } //A93 if ((keysA[10][2] ==0) and (lastA[10][2] ==0)) { MidiSend(noteOn1, 93, velocity); lastA [10] [2] =7; } //Write Midi Note Off if ((keysA[10][2] ==1) and (lastA[10][2] ==7)) { MidiSend(noteOff1, 93, velocity); lastA [10] [2] =0; } //A94 if ((keysA[10][3] ==0) and (lastA[10][3] ==0)) { MidiSend(noteOn1, 94, velocity); lastA [10] [3] =7; } //Write Midi Note Off if ((keysA[10][3] ==1) and (lastA[10][3] ==7)) { MidiSend(noteOff1, 94, velocity); lastA [10] [3] =0; } //A95 if ((keysA[10][4] ==0) and (lastA[10][4] ==0)) { MidiSend(noteOn1, 95, velocity); lastA [10] [4] =7; } //Write Midi Note Off if ((keysA[10][4] ==1) and (lastA[10][4] ==7)) { MidiSend(noteOff1, 95, velocity); lastA [10] [4] =0; } //A96 if ((keysA[10][5] ==0) and (lastA[10][5] ==0)) { MidiSend(noteOn1, 96, velocity); lastA [10] [5] =7; } //Write Midi Note Off if ((keysA[10][5] ==1) and (lastA[10][5] ==7)) { MidiSend(noteOff1, 96, velocity); lastA [10] [5] =0; } //Write Keyboard B //B36 if ((keysB[0][0] ==0) and (lastB[0][0] ==0)) { MidiSend(noteOn2, 36, velocity); lastB [0] [0] =7; } if ((keysB[0][0] ==1) and (lastB[0][0] ==7)) { MidiSend(noteOff2, 36, velocity); lastB [0] [0] =0; } //B37 if ((keysB[1][0] ==0) and (lastB[1][0] ==0)) { MidiSend(noteOn2, 37, velocity); lastB [1] [0] =7; } if ((keysB[1][0] ==1) and (lastB[1][0] ==7)) { MidiSend(noteOff2, 37, velocity); lastB [1] [0] =0; } //B38 if ((keysB[1][1] ==0) and (lastB[1][1] ==0)) { MidiSend(noteOn2, 38, velocity); lastB [1] [1] =7; } //Write Midi Note Off if ((keysB[1][1] ==1) and (lastB[1][1] ==7)) { MidiSend(noteOff2, 38, velocity); lastB [1] [1] =0; } //B39 if ((keysB[1][2] ==0) and (lastB[1][2] ==0)) { MidiSend(noteOn2, 39, velocity); lastB [1] [2] =7; } //Write Midi Note Off if ((keysB[1][2] ==1) and (lastB[1][2] ==7)) { MidiSend(noteOff2, 39, velocity); lastB [1] [2] =0; } //B40 if ((keysB[1][3] ==0) and (lastB[1][3] ==0)) { MidiSend(noteOn2, 40, velocity); lastB [1] [3] =7; } //Write Midi Note Off if ((keysB[1][3] ==1) and (lastB[1][3] ==7)) { MidiSend(noteOff2, 40, velocity); lastB [1] [3] =0; } //B41 if ((keysB[1][4] ==0) and (lastB[1][4] ==0)) { MidiSend(noteOn2, 41, velocity); lastB [1] [4] =7; } //Write Midi Note Off if ((keysB[1][4] ==1) and (lastB[1][4] ==7)) { MidiSend(noteOff2, 41, velocity); lastB [1] [4] =0; } //B42 if ((keysB[1][5] ==0) and (lastB[1][5] ==0)) { MidiSend(noteOn2, 42, velocity); lastB [1] [5] =7; } //Write Midi Note Off if ((keysB[1][5] ==1) and (lastB[1][5] ==7)) { MidiSend(noteOff2, 42, velocity); lastB [1] [5] =0; } //B43 if ((keysB[2][0] ==0) and (lastB[2][0] ==0)) { MidiSend(noteOn2, 43, velocity); lastB [2] [0] =7; } //Write Midi Note Off if ((keysB[2][0] ==1) and (lastB[2][0] ==7)) { MidiSend(noteOff2, 43, velocity); lastB [2] [0] =0; } //B44 if ((keysB[2][1] ==0) and (lastB[2][1] ==0)) { MidiSend(noteOn2, 44, velocity); lastB [2] [1] =7; } //Write Midi Note Off if ((keysB[2][1] ==1) and (lastB[2][1] ==7)) { MidiSend(noteOff2, 44, velocity); lastB [2] [1] =0; } //B45 if ((keysB[2][2] ==0) and (lastB[2][2] ==0)) { MidiSend(noteOn2, 45, velocity); lastB [2] [2] =7; } //Write Midi Note Off if ((keysB[2][2] ==1) and (lastB[2][2] ==7)) { MidiSend(noteOff2, 45, velocity); lastB [2] [2] =0; } //B46 if ((keysB[2][3] ==0) and (lastB[2][3] ==0)) { MidiSend(noteOn2, 46, velocity); lastB [2] [3] =7; } //Write Midi Note Off if ((keysB[2][3] ==1) and (lastB[2][3] ==7)) { MidiSend(noteOff2, 46, velocity); lastB [2] [3] =0; } //B47 if ((keysB[2][4] ==0) and (lastB[2][4] ==0)) { MidiSend(noteOn2, 47, velocity); lastB [2] [4] =7; } //Write Midi Note Off if ((keysB[2][4] ==1) and (lastB[2][4] ==7)) { MidiSend(noteOff2, 47, velocity); lastB [2] [4] =0; } //B48 if ((keysB[2][5] ==0) and (lastB[2][5] ==0)) { MidiSend(noteOn2, 48, velocity); lastB [2] [5] =7; } //Write Midi Note Off if ((keysB[2][5] ==1) and (lastB[2][5] ==7)) { MidiSend(noteOff2, 48, velocity); lastB [2] [5] =0; } //B49 if ((keysB[3][0] ==0) and (lastB[3][0] ==0)) { MidiSend(noteOn2, 49, velocity); lastB [3] [0] =7; } //Write Midi Note Off if ((keysB[3][0] ==1) and (lastB[3][0] ==7)) { MidiSend(noteOff2, 49, velocity); lastB [3] [0] =0; } //B50 if ((keysB[3][1] ==0) and (lastB[3][1] ==0)) { MidiSend(noteOn2, 50, velocity); lastB [3] [1] =7; } //Write Midi Note Off if ((keysB[3][1] ==1) and (lastB[3][1] ==7)) { MidiSend(noteOff2, 50, velocity); lastB [3] [1] =0; } //B51 if ((keysB[3][2] ==0) and (lastB[3][2] ==0)) { MidiSend(noteOn2, 51, velocity); lastB [3] [2] =7; } //Write Midi Note Off if ((keysB[3][2] ==1) and (lastB[3][2] ==7)) { MidiSend(noteOff2, 51, velocity); lastB [3] [2] =0; } //B52 if ((keysB[3][3] ==0) and (lastB[3][3] ==0)) { MidiSend(noteOn2, 52, velocity); lastB [3] [3] =7; } //Write Midi Note Off if ((keysB[3][3] ==1) and (lastB[3][3] ==7)) { MidiSend(noteOff2, 52, velocity); lastB [3] [3] =0; } //B53 if ((keysB[3][4] ==0) and (lastB[3][4] ==0)) { MidiSend(noteOn2, 53, velocity); lastB [3] [4] =7; } //Write Midi Note Off if ((keysB[3][4] ==1) and (lastB[3][4] ==7)) { MidiSend(noteOff2, 53, velocity); lastB [3] [4] =0; } //B54 if ((keysB[3][5] ==0) and (lastB[3][5] ==0)) { MidiSend(noteOn2, 54, velocity); lastB [3] [5] =7; } //Write Midi Note Off if ((keysB[3][5] ==1) and (lastB[3][5] ==7)) { MidiSend(noteOff2, 54, velocity); lastB [3] [5] =0; } //B55 if ((keysB[4][0] ==0) and (lastB[4][0] ==0)) { MidiSend(noteOn2, 55, velocity); lastB [4] [0] =7; } //Write Midi Note Off if ((keysB[4][0] ==1) and (lastB[4][0] ==7)) { MidiSend(noteOff2, 55, velocity); lastB [4] [0] =0; } //B56 if ((keysB[4][1] ==0) and (lastB[4][1] ==0)) { MidiSend(noteOn2, 56, velocity); lastB [4] [1] =7; } //Write Midi Note Off if ((keysB[4][1] ==1) and (lastB[4][1] ==7)) { MidiSend(noteOff2, 56, velocity); lastB [4] [1] =0; } //B57 if ((keysB[4][2] ==0) and (lastB[4][2] ==0)) { MidiSend(noteOn2, 57, velocity); lastB [4] [2] =7; } //Write Midi Note Off if ((keysB[4][2] ==1) and (lastB[4][2] ==7)) { MidiSend(noteOff2, 57, velocity); lastB [4] [2] =0; } //B58 if ((keysB[4][3] ==0) and (lastB[4][3] ==0)) { MidiSend(noteOn2, 58, velocity); lastB [4] [3] =7; } //Write Midi Note Off if ((keysB[4][3] ==1) and (lastB[4][3] ==7)) { MidiSend(noteOff2, 58, velocity); lastB [4] [3] =0; } //B59 if ((keysB[4][4] ==0) and (lastB[4][4] ==0)) { MidiSend(noteOn2, 59, velocity); lastB [4] [4] =7; } //Write Midi Note Off if ((keysB[4][4] ==1) and (lastB[4][4] ==7)) { MidiSend(noteOff2, 59, velocity); lastB [4] [4] =0; } //B60 if ((keysB[4][5] ==0) and (lastB[4][5] ==0)) { MidiSend(noteOn2, 60, velocity); lastB [4] [5] =7; } //Write Midi Note Off if ((keysB[4][5] ==1) and (lastB[4][5] ==7)) { MidiSend(noteOff2, 60, velocity); lastB [4] [5] =0; } //B61 if ((keysB[5][0] ==0) and (lastB[5][0] ==0)) { MidiSend(noteOn2, 61, velocity); lastB [5] [0] =7; } //Write Midi Note Off if ((keysB[5][0] ==1) and (lastB[5][0] ==7)) { MidiSend(noteOff2, 61, velocity); lastB [5] [0] =0; } //B62 if ((keysB[5][1] ==0) and (lastB[5][1] ==0)) { MidiSend(noteOn2, 62, velocity); lastB [5] [1] =7; } //Write Midi Note Off if ((keysB[5][1] ==1) and (lastB[5][1] ==7)) { MidiSend(noteOff2, 62, velocity); lastB [5] [1] =0; } //B63 if ((keysB[5][2] ==0) and (lastB[5][2] ==0)) { MidiSend(noteOn2, 63, velocity); lastB [5] [2] =7; } //Write Midi Note Off if ((keysB[5][2] ==1) and (lastB[5][2] ==7)) { MidiSend(noteOff2, 63, velocity); lastB [5] [2] =0; } //B64 if ((keysB[5][3] ==0) and (lastB[5][3] ==0)) { MidiSend(noteOn2, 64, velocity); lastB [5] [3] =7; } //Write Midi Note Off if ((keysB[5][3] ==1) and (lastB[5][3] ==7)) { MidiSend(noteOff2, 64, velocity); lastB [5] [3] =0; } //B65 if ((keysB[5][4] ==0) and (lastB[5][4] ==0)) { MidiSend(noteOn2, 65, velocity); lastB [5] [4] =7; } //Write Midi Note Off if ((keysB[5][4] ==1) and (lastB[5][4] ==7)) { MidiSend(noteOff2, 65, velocity); lastB [5] [4] =0; } //B66 if ((keysB[5][5] ==0) and (lastB[5][5] ==0)) { MidiSend(noteOn2, 66, velocity); lastB [5] [5] =7; } //Write Midi Note Off if ((keysB[5][5] ==1) and (lastB[5][5] ==7)) { MidiSend(noteOff2, 66, velocity); lastB [5] [5] =0; } //B67 if ((keysB[6][0] ==0) and (lastB[6][0] ==0)) { MidiSend(noteOn2, 67, velocity); lastB [6] [0] =7; } //Write Midi Note Off if ((keysB[6][0] ==1) and (lastB[6][0] ==7)) { MidiSend(noteOff2, 67, velocity); lastB [6] [0] =0; } //B68 if ((keysB[6][1] ==0) and (lastB[6][1] ==0)) { MidiSend(noteOn2, 68, velocity); lastB [6] [1] =7; } //Write Midi Note Off if ((keysB[6][1] ==1) and (lastB[6][1] ==7)) { MidiSend(noteOff2, 68, velocity); lastB [6] [1] =0; } //B69 if ((keysB[6][2] ==0) and (lastB[6][2] ==0)) { MidiSend(noteOn2, 69, velocity); lastB [6] [2] =7; } //Write Midi Note Off if ((keysB[6][2] ==1) and (lastB[6][2] ==7)) { MidiSend(noteOff2, 69, velocity); lastB [6] [2] =0; } //B70 if ((keysB[6][3] ==0) and (lastB[6][3] ==0)) { MidiSend(noteOn2, 70, velocity); lastB [6] [3] =7; } //Write Midi Note Off if ((keysB[6][3] ==1) and (lastB[6][3] ==7)) { MidiSend(noteOff2, 70, velocity); lastB [6] [3] =0; } //B71 if ((keysB[6][4] ==0) and (lastB[6][4] ==0)) { MidiSend(noteOn2, 71, velocity); lastB [6] [4] =7; } //Write Midi Note Off if ((keysB[6][4] ==1) and (lastB[6][4] ==7)) { MidiSend(noteOff2, 71, velocity); lastB [6] [4] =0; } //B72 if ((keysB[6][5] ==0) and (lastB[6][5] ==0)) { MidiSend(noteOn2, 72, velocity); lastB [6] [5] =7; } //Write Midi Note Off if ((keysB[6][5] ==1) and (lastB[6][5] ==7)) { MidiSend(noteOff2, 72, velocity); lastB [6] [5] =0; } //B73 if ((keysB[7][0] ==0) and (lastB[7][0] ==0)) { MidiSend(noteOn2, 73, velocity); lastB [7] [0] =7; } //Write Midi Note Off if ((keysB[7][0] ==1) and (lastB[7][0] ==7)) { MidiSend(noteOff2, 73, velocity); lastB [7] [0] =0; } //B74 if ((keysB[7][1] ==0) and (lastB[7][1] ==0)) { MidiSend(noteOn2, 74, velocity); lastB [7] [1] =7; } //Write Midi Note Off if ((keysB[7][1] ==1) and (lastB[7][1] ==7)) { MidiSend(noteOff2, 74, velocity); lastB [7] [1] =0; } //B75 if ((keysB[7][2] ==0) and (lastB[7][2] ==0)) { MidiSend(noteOn2, 75, velocity); lastB [7] [2] =7; } //Write Midi Note Off if ((keysB[7][2] ==1) and (lastB[7][2] ==7)) { MidiSend(noteOff2, 75, velocity); lastB [7] [2] =0; } //B76 if ((keysB[7][3] ==0) and (lastB[7][3] ==0)) { MidiSend(noteOn2, 76, velocity); lastB [7] [3] =7; } //Write Midi Note Off if ((keysB[7][3] ==1) and (lastB[7][3] ==7)) { MidiSend(noteOff2, 76, velocity); lastB [7] [3] =0; } //B77 if ((keysB[7][4] ==0) and (lastB[7][4] ==0)) { MidiSend(noteOn2, 77, velocity); lastB [7] [4] =7; } //Write Midi Note Off if ((keysB[7][4] ==1) and (lastB[7][4] ==7)) { MidiSend(noteOff2, 77, velocity); lastB [7] [4] =0; } //B78 if ((keysB[7][5] ==0) and (lastB[7][5] ==0)) { MidiSend(noteOn2, 78, velocity); lastB [7] [5] =7; } //Write Midi Note Off if ((keysB[7][5] ==1) and (lastB[7][5] ==7)) { MidiSend(noteOff2, 78, velocity); lastB [7] [5] =0; } //B79 if ((keysB[8][0] ==0) and (lastB[8][0] ==0)) { MidiSend(noteOn2, 79, velocity); lastB [8] [0] =7; } //Write Midi Note Off if ((keysB[8][0] ==1) and (lastB[8][0] ==7)) { MidiSend(noteOff2, 79, velocity); lastB [8] [0] =0; } //B80 if ((keysB[8][1] ==0) and (lastB[8][1] ==0)) { MidiSend(noteOn2, 80, velocity); lastB [8] [1] =7; } //Write Midi Note Off if ((keysB[8][1] ==1) and (lastB[8][1] ==7)) { MidiSend(noteOff2, 80, velocity); lastB [8] [1] =0; } //B81 if ((keysB[8][2] ==0) and (lastB[8][2] ==0)) { MidiSend(noteOn2, 81, velocity); lastB [8] [2] =7; } //Write Midi Note Off if ((keysB[8][2] ==1) and (lastB[8][2] ==7)) { MidiSend(noteOff2, 81, velocity); lastB [8] [2] =0; } //B82 if ((keysB[8][3] ==0) and (lastB[8][3] ==0)) { MidiSend(noteOn2, 82, velocity); lastB [8] [3] =7; } //Write Midi Note Off if ((keysB[8][3] ==1) and (lastB[8][3] ==7)) { MidiSend(noteOff2, 82, velocity); lastB [8] [3] =0; } //B83 if ((keysB[8][4] ==0) and (lastB[8][4] ==0)) { MidiSend(noteOn2, 83, velocity); lastB [8] [4] =7; } //Write Midi Note Off if ((keysB[8][4] ==1) and (lastB[8][4] ==7)) { MidiSend(noteOff2, 83, velocity); lastB [8] [4] =0; } //B84 if ((keysB[8][5] ==0) and (lastB[8][5] ==0)) { MidiSend(noteOn2, 84, velocity); lastB [8] [5] =7; } //Write Midi Note Off if ((keysB[8][5] ==1) and (lastB[8][5] ==7)) { MidiSend(noteOff2, 84, velocity); lastB [8] [5] =0; } //B85 if ((keysB[9][0] ==0) and (lastB[9][0] ==0)) { MidiSend(noteOn2, 85, velocity); lastB [9] [0] =7; } //Write Midi Note Off if ((keysB[9][0] ==1) and (lastB[9][0] ==7)) { MidiSend(noteOff2, 85, velocity); lastB [9] [0] =0; } //B86 if ((keysB[9][1] ==0) and (lastB[9][1] ==0)) { MidiSend(noteOn2, 86, velocity); lastB [9] [1] =7; } //Write Midi Note Off if ((keysB[9][1] ==1) and (lastB[9][1] ==7)) { MidiSend(noteOff2, 86, velocity); lastB [9] [1] =0; } //B87 if ((keysB[9][2] ==0) and (lastB[9][2] ==0)) { MidiSend(noteOn2, 87, velocity); lastB [9] [2] =7; } //Write Midi Note Off if ((keysB[9][2] ==1) and (lastB[9][2] ==7)) { MidiSend(noteOff2, 87, velocity); lastB [9] [2] =0; } //B88 if ((keysB[9][3] ==0) and (lastB[9][3] ==0)) { MidiSend(noteOn2, 88, velocity); lastB [9] [3] =7; } //Write Midi Note Off if ((keysB[9][3] ==1) and (lastB[9][3] ==7)) { MidiSend(noteOff2, 88, velocity); lastB [9] [3] =0; } //B89 if ((keysB[9][4] ==0) and (lastB[9][4] ==0)) { MidiSend(noteOn2, 89, velocity); lastB [9] [4] =7; } //Write Midi Note Off if ((keysB[9][4] ==1) and (lastB[9][4] ==7)) { MidiSend(noteOff2, 89, velocity); lastB [9] [4] =0; } //B90 if ((keysB[9][5] ==0) and (lastB[9][5] ==0)) { MidiSend(noteOn2, 90, velocity); lastB [9] [5] =7; } //Write Midi Note Off if ((keysB[9][5] ==1) and (lastB[9][5] ==7)) { MidiSend(noteOff2, 90, velocity); lastB [9] [5] =0; } //B91 if ((keysB[10][0] ==0) and (lastB[10][0] ==0)) { MidiSend(noteOn2, 91, velocity); lastB [10] [0] =7; } //Write Midi Note Off if ((keysB[10][0] ==1) and (lastB[10][0] ==7)) { MidiSend(noteOff2, 91, velocity); lastB [10] [0] =0; } //B92 if ((keysB[10][1] ==0) and (lastB[10][1] ==0)) { MidiSend(noteOn2, 92, velocity); lastB [10] [1] =7; } //Write Midi Note Off if ((keysB[10][1] ==1) and (lastB[10][1] ==7)) { MidiSend(noteOff2, 92, velocity); lastB [10] [1] =0; } //B93 if ((keysB[10][2] ==0) and (lastB[10][2] ==0)) { MidiSend(noteOn2, 93, velocity); lastB [10] [2] =7; } //Write Midi Note Off if ((keysB[10][2] ==1) and (lastB[10][2] ==7)) { MidiSend(noteOff2, 93, velocity); lastB [10] [2] =0; } //B94 if ((keysB[10][3] ==0) and (lastB[10][3] ==0)) { MidiSend(noteOn2, 94, velocity); lastB [10] [3] =7; } //Write Midi Note Off if ((keysB[10][3] ==1) and (lastB[10][3] ==7)) { MidiSend(noteOff2, 94, velocity); lastB [10] [3] =0; } //B95 if ((keysB[10][4] ==0) and (lastB[10][4] ==0)) { MidiSend(noteOn2, 95, velocity); lastB [10] [4] =7; } //Write Midi Note Off if ((keysB[10][4] ==1) and (lastB[10][4] ==7)) { MidiSend(noteOff2, 95, velocity); lastB [10] [4] =0; } //B96 if ((keysB[10][5] ==0) and (lastB[10][5] ==0)) { MidiSend(noteOn2, 96, velocity); lastB [10] [5] =7; } //Write Midi Note Off if ((keysB[10][5] ==1) and (lastB[10][5] ==7)) { MidiSend(noteOff2, 96, velocity); lastB [10] [5] =0; } //Write Keyboard C //C36 if ((keysC[0][0] ==0) and (lastC[0][0] ==0)) { MidiSend(noteOn3, 36, velocity); lastC [0] [0] =7; } if ((keysC[0][0] ==1) and (lastC[0][0] ==7)) { MidiSend(noteOff3, 36, velocity); lastC [0] [0] =0; } //C37 if ((keysC[1][0] ==0) and (lastC[1][0] ==0)) { MidiSend(noteOn3, 37, velocity); lastC [1] [0] =7; } if ((keysC[1][0] ==1) and (lastC[1][0] ==7)) { MidiSend(noteOff3, 37, velocity); lastC [1] [0] =0; } //C38 if ((keysC[1][1] ==0) and (lastC[1][1] ==0)) { MidiSend(noteOn3, 38, velocity); lastC [1] [1] =7; } //Write Midi Note Off if ((keysC[1][1] ==1) and (lastC[1][1] ==7)) { MidiSend(noteOff3, 38, velocity); lastC[1][1] =0; } //C39 if ((keysC[1][2] ==0) and (lastC[1][2] ==0)) { MidiSend(noteOn3, 39, velocity); lastC[1][2] =7; } //Write Midi Note Off if ((keysC[1][2] ==1) and (lastC[1][2] ==7)) { MidiSend(noteOff3, 39, velocity); lastC[1][2] =0; } //C40 if ((keysC[1][3] ==0) and (lastC[1][3] ==0)) { MidiSend(noteOn3, 40, velocity); lastC[1][3] =7; } //Write Midi Note Off if ((keysC[1][3] ==1) and (lastC[1][3] ==7)) { MidiSend(noteOff3, 40, velocity); lastC[1][3] =0; } //C41 if ((keysC[1][4] ==0) and (lastC[1][4] ==0)) { MidiSend(noteOn3, 41, velocity); lastC[1][4] =7; } //Write Midi Note Off if ((keysC[1][4] ==1) and (lastC[1][4] ==7)) { MidiSend(noteOff3, 41, velocity); lastC[1][4] =0; } //C42 if ((keysC[1][5] ==0) and (lastC[1][5] ==0)) { MidiSend(noteOn3, 42, velocity); lastC[1][5] =7; } //Write Midi Note Off if ((keysC[1][5] ==1) and (lastC[1][5] ==7)) { MidiSend(noteOff3, 42, velocity); lastC[1][5] =0; } //C43 if ((keysC[2][0] ==0) and (lastC[2][0] ==0)) { MidiSend(noteOn3, 43, velocity); lastC[2][0] =7; } //Write Midi Note Off if ((keysC[2][0] ==1) and (lastC[2][0] ==7)) { MidiSend(noteOff3, 43, velocity); lastC[2][0] =0; } //C44 if ((keysC[2][1] ==0) and (lastC[2][1] ==0)) { MidiSend(noteOn3, 44, velocity); lastC[2][1] =7; } //Write Midi Note Off if ((keysC[2][1] ==1) and (lastC[2][1] ==7)) { MidiSend(noteOff3, 44, velocity); lastC[2][1] =0; } //B45 if ((keysC[2][2] ==0) and (lastC[2][2] ==0)) { MidiSend(noteOn3, 45, velocity); lastC[2][2] =7; } //Write Midi Note Off if ((keysC[2][2] ==1) and (lastC[2][2] ==7)) { MidiSend(noteOff3, 45, velocity); lastC[2][2] =0; } //C46 if ((keysC[2][3] ==0) and (lastC[2][3] ==0)) { MidiSend(noteOn3, 46, velocity); lastC[2][3] =7; } //Write Midi Note Off if ((keysC[2][3] ==1) and (lastC[2][3] ==7)) { MidiSend(noteOff3, 46, velocity); lastC[2][3] =0; } //C47 if ((keysC[2][4] ==0) and (lastC[2][4] ==0)) { MidiSend(noteOn3, 47, velocity); lastC[2][4] =7; } //Write Midi Note Off if ((keysC[2][4] ==1) and (lastC[2][4] ==7)) { MidiSend(noteOff3, 47, velocity); lastC[2][4] =0; } //C48 if ((keysC[2][5] ==0) and (lastC[2][5] ==0)) { MidiSend(noteOn3, 48, velocity); lastC[2][5] =7; } //Write Midi Note Off if ((keysC[2][5] ==1) and (lastC[2][5] ==7)) { MidiSend(noteOff3, 48, velocity); lastC[2][5] =0; } //C49 if ((keysC[3][0] ==0) and (lastC[3][0] ==0)) { MidiSend(noteOn3, 49, velocity); lastC[3][0] =7; } //Write Midi Note Off if ((keysC[3][0] ==1) and (lastC[3][0] ==7)) { MidiSend(noteOff3, 49, velocity); lastC[3][0] =0; } //C50 if ((keysC[3][1] ==0) and (lastC[3][1] ==0)) { MidiSend(noteOn3, 50, velocity); lastC[3][1] =7; } //Write Midi Note Off if ((keysC[3][1] ==1) and (lastC[3][1] ==7)) { MidiSend(noteOff3, 50, velocity); lastC[3][1] =0; } //C51 if ((keysC[3][2] ==0) and (lastC[3][2] ==0)) { MidiSend(noteOn3, 51, velocity); lastC[3][2] =7; } //Write Midi Note Off if ((keysC[3][2] ==1) and (lastC[3][2] ==7)) { MidiSend(noteOff3, 51, velocity); lastC[3][2] =0; } //C52 if ((keysC[3][3] ==0) and (lastC[3][3] ==0)) { MidiSend(noteOn3, 52, velocity); lastC[3][3] =7; } //Write Midi Note Off if ((keysC[3][3] ==1) and (lastC[3][3] ==7)) { MidiSend(noteOff3, 52, velocity); lastC[3][3] =0; } //C53 if ((keysC[3][4] ==0) and (lastC[3][4] ==0)) { MidiSend(noteOn3, 53, velocity); lastC[3][4] =7; } //Write Midi Note Off if ((keysC[3][4] ==1) and (lastC[3][4] ==7)) { MidiSend(noteOff3, 53, velocity); lastC[3][4] =0; } //C54 if ((keysC[3][5] ==0) and (lastC[3][5] ==0)) { MidiSend(noteOn3, 54, velocity); lastC[3][5] =7; } //Write Midi Note Off if ((keysC[3][5] ==1) and (lastC[3][5] ==7)) { MidiSend(noteOff3, 54, velocity); lastC[3][5] =0; } //C55 if ((keysC[4][0] ==0) and (lastC[4][0] ==0)) { MidiSend(noteOn3, 55, velocity); lastC[4][0] =7; } //Write Midi Note Off if ((keysC[4][0] ==1) and (lastC[4][0] ==7)) { MidiSend(noteOff3, 55, velocity); lastC[4][0] =0; } //C56 if ((keysC[4][1] ==0) and (lastC[4][1] ==0)) { MidiSend(noteOn3, 56, velocity); lastC[4][1] =7; } //Write Midi Note Off if ((keysC[4][1] ==1) and (lastC[4][1] ==7)) { MidiSend(noteOff3, 56, velocity); lastC[4][1] =0; } //C57 if ((keysC[4][2] ==0) and (lastC[4][2] ==0)) { MidiSend(noteOn3, 57, velocity); lastC[4][2] =7; } //Write Midi Note Off if ((keysC[4][2] ==1) and (lastC[4][2] ==7)) { MidiSend(noteOff3, 57, velocity); lastC[4][2] =0; } //C58 if ((keysC[4][3] ==0) and (lastC[4][3] ==0)) { MidiSend(noteOn3, 58, velocity); lastC[4][3] =7; } //Write Midi Note Off if ((keysC[4][3] ==1) and (lastC[4][3] ==7)) { MidiSend(noteOff3, 58, velocity); lastC[4][3] =0; } //C59 if ((keysC[4][4] ==0) and (lastC[4][4] ==0)) { MidiSend(noteOn3, 59, velocity); lastC[4][4] =7; } //Write Midi Note Off if ((keysC[4][4] ==1) and (lastC[4][4] ==7)) { MidiSend(noteOff3, 59, velocity); lastC[4][4] =0; } //C60 if ((keysC[4][5] ==0) and (lastC[4][5] ==0)) { MidiSend(noteOn3, 60, velocity); lastC[4][5] =7; } //Write Midi Note Off if ((keysC[4][5] ==1) and (lastC[4][5] ==7)) { MidiSend(noteOff3, 60, velocity); lastC[4][5] =0; } //C61 if ((keysC[5][0] ==0) and (lastC[5][0] ==0)) { MidiSend(noteOn3, 61, velocity); lastC[5][0] =7; } //Write Midi Note Off if ((keysC[5][0] ==1) and (lastC[5][0] ==7)) { MidiSend(noteOff3, 61, velocity); lastC[5][0] =0; } //C62 if ((keysC[5][1] ==0) and (lastC[5][1] ==0)) { MidiSend(noteOn3, 62, velocity); lastC[5][1] =7; } //Write Midi Note Off if ((keysC[5][1] ==1) and (lastC[5][1] ==7)) { MidiSend(noteOff3, 62, velocity); lastC[5][1] =0; } //C63 if ((keysC[5][2] ==0) and (lastC[5][2] ==0)) { MidiSend(noteOn3, 63, velocity); lastC[5][2] =7; } //Write Midi Note Off if ((keysC[5][2] ==1) and (lastC[5][2] ==7)) { MidiSend(noteOff3, 63, velocity); lastC[5][2] =0; } //C64 if ((keysC[5][3] ==0) and (lastC[5][3] ==0)) { MidiSend(noteOn3, 64, velocity); lastC[5][3] =7; } //Write Midi Note Off if ((keysC[5][3] ==1) and (lastC[5][3] ==7)) { MidiSend(noteOff3, 64, velocity); lastC[5][3] =0; } //C65 if ((keysC[5][4] ==0) and (lastC[5][4] ==0)) { MidiSend(noteOn3, 65, velocity); lastC[5][4] =7; } //Write Midi Note Off if ((keysC[5][4] ==1) and (lastC[5][4] ==7)) { MidiSend(noteOff3, 65, velocity); lastC[5][4] =0; } //C66 if ((keysC[5][5] ==0) and (lastC[5][5] ==0)) { MidiSend(noteOn3, 66, velocity); lastC[5][5] =7; } //Write Midi Note Off if ((keysC[5][5] ==1) and (lastC[5][5] ==7)) { MidiSend(noteOff3, 66, velocity); lastC[5][5] =0; } //C67 if ((keysC[6][0] ==0) and (lastC[6][0] ==0)) { MidiSend(noteOn3, 67, velocity); lastC[6][0] =7; } //Write Midi Note Off if ((keysC[6][0] ==1) and (lastC[6][0] ==7)) { MidiSend(noteOff3, 67, velocity); lastC[6][0] =0; } //C68 if ((keysC[6][1] ==0) and (lastC[6][1] ==0)) { MidiSend(noteOn3, 68, velocity); lastC[6][1] =7; } //Write Midi Note Off if ((keysC[6][1] ==1) and (lastC[6][1] ==7)) { MidiSend(noteOff3, 68, velocity); lastC[6][1] =0; } //C69 if ((keysC[6][2] ==0) and (lastC[6][2] ==0)) { MidiSend(noteOn3, 69, velocity); lastC[6][2] =7; } //Write Midi Note Off if ((keysC[6][2] ==1) and (lastC[6][2] ==7)) { MidiSend(noteOff3, 69, velocity); lastC[6][2] =0; } //C70 if ((keysC[6][3] ==0) and (lastC[6][3] ==0)) { MidiSend(noteOn3, 70, velocity); lastC[6][3] =7; } //Write Midi Note Off if ((keysC[6][3] ==1) and (lastC[6][3] ==7)) { MidiSend(noteOff3, 70, velocity); lastC[6][3] =0; } //C71 if ((keysC[6][4] ==0) and (lastC[6][4] ==0)) { MidiSend(noteOn3, 71, velocity); lastC[6][4] =7; } //Write Midi Note Off if ((keysC[6][4] ==1) and (lastC[6][4] ==7)) { MidiSend(noteOff3, 71, velocity); lastC[6][4] =0; } //C72 if ((keysC[6][5] ==0) and (lastC[6][5] ==0)) { MidiSend(noteOn3, 72, velocity); lastC[6][5] =7; } //Write Midi Note Off if ((keysC[6][5] ==1) and (lastC[6][5] ==7)) { MidiSend(noteOff3, 72, velocity); lastC[6][5] =0; } //C73 if ((keysC[7][0] ==0) and (lastC[7][0] ==0)) { MidiSend(noteOn3, 73, velocity); lastC[7][0] =7; } //Write Midi Note Off if ((keysC[7][0] ==1) and (lastC[7][0] ==7)) { MidiSend(noteOff3, 73, velocity); lastC[7][0] =0; } //C74 if ((keysC[7][1] ==0) and (lastC[7][1] ==0)) { MidiSend(noteOn3, 74, velocity); lastC[7][1] =7; } //Write Midi Note Off if ((keysC[7][1] ==1) and (lastC[7][1] ==7)) { MidiSend(noteOff3, 74, velocity); lastC[7][1] =0; } //C75 if ((keysC[7][2] ==0) and (lastC[7][2] ==0)) { MidiSend(noteOn3, 75, velocity); lastC[7][2] =7; } //Write Midi Note Off if ((keysC[7][2] ==1) and (lastC[7][2] ==7)) { MidiSend(noteOff3, 75, velocity); lastC[7][2] =0; } //C76 if ((keysC[7][3] ==0) and (lastC[7][3] ==0)) { MidiSend(noteOn3, 76, velocity); lastC[7][3] =7; } //Write Midi Note Off if ((keysC[7][3] ==1) and (lastC[7][3] ==7)) { MidiSend(noteOff3, 76, velocity); lastC[7][3] =0; } //C77 if ((keysC[7][4] ==0) and (lastC[7][4] ==0)) { MidiSend(noteOn3, 77, velocity); lastC[7][4] =7; } //Write Midi Note Off if ((keysC[7][4] ==1) and (lastC[7][4] ==7)) { MidiSend(noteOff3, 77, velocity); lastC[7][4] =0; } //C78 if ((keysC[7][5] ==0) and (lastC[7][5] ==0)) { MidiSend(noteOn3, 78, velocity); lastC[7][5] =7; } //Write Midi Note Off if ((keysC[7][5] ==1) and (lastC[7][5] ==7)) { MidiSend(noteOff3, 78, velocity); lastC[7][5] =0; } //C79 if ((keysC[8][0] ==0) and (lastC[8][0] ==0)) { MidiSend(noteOn3, 79, velocity); lastC[8][0] =7; } //Write Midi Note Off if ((keysC[8][0] ==1) and (lastC[8][0] ==7)) { MidiSend(noteOff2, 79, velocity); lastC[8][0] =0; } //C80 if ((keysC[8][1] ==0) and (lastC[8][1] ==0)) { MidiSend(noteOn3, 80, velocity); lastC[8][1] =7; } //Write Midi Note Off if ((keysC[8][1] ==1) and (lastC[8][1] ==7)) { MidiSend(noteOff3, 80, velocity); lastC[8][1] =0; } //C81 if ((keysC[8][2] ==0) and (lastC[8][2] ==0)) { MidiSend(noteOn3, 81, velocity); lastC[8][2] =7; } //Write Midi Note Off if ((keysC[8][2] ==1) and (lastC[8][2] ==7)) { MidiSend(noteOff3, 81, velocity); lastC[8][2] =0; } //C82 if ((keysC[8][3] ==0) and (lastC[8][3] ==0)) { MidiSend(noteOn3, 82, velocity); lastC[8][3] =7; } //Write Midi Note Off if ((keysC[8][3] ==1) and (lastC[8][3] ==7)) { MidiSend(noteOff3, 82, velocity); lastC[8][3] =0; } //C83 if ((keysC[8][4] ==0) and (lastC[8][4] ==0)) { MidiSend(noteOn3, 83, velocity); lastC[8][4] =7; } //Write Midi Note Off if ((keysC[8][4] ==1) and (lastC[8][4] ==7)) { MidiSend(noteOff3, 83, velocity); lastC[8][4] =0; } //C84 if ((keysC[8][5] ==0) and (lastC[8][5] ==0)) { MidiSend(noteOn3, 84, velocity); lastC[8][5] =7; } //Write Midi Note Off if ((keysC[8][5] ==1) and (lastC[8][5] ==7)) { MidiSend(noteOff3, 84, velocity); lastC[8][5] =0; } //C85 if ((keysC[9][0] ==0) and (lastC[9][0] ==0)) { MidiSend(noteOn3, 85, velocity); lastC[9][0] =7; } //Write Midi Note Off if ((keysC[9][0] ==1) and (lastC[9][0] ==7)) { MidiSend(noteOff3, 85, velocity); lastC[9][0] =0; } //C86 if ((keysC[9][1] ==0) and (lastC[9][1] ==0)) { MidiSend(noteOn2, 86, velocity); lastC[9][1] =7; } //Write Midi Note Off if ((keysC[9][1] ==1) and (lastC[9][1] ==7)) { MidiSend(noteOff3, 86, velocity); lastC[9][1] =0; } //C87 if ((keysC[9][2] ==0) and (lastC[9][2] ==0)) { MidiSend(noteOn3, 87, velocity); lastC[9][2] =7; } //Write Midi Note Off if ((keysC[9][2] ==1) and (lastC[9][2] ==7)) { MidiSend(noteOff3, 87, velocity); lastC[9][2] =0; } //C88 if ((keysC[9][3] ==0) and (lastC[9][3] ==0)) { MidiSend(noteOn3, 88, velocity); lastC[9][3] =7; } //Write Midi Note Off if ((keysC[9][3] ==1) and (lastC[9][3] ==7)) { MidiSend(noteOff3, 88, velocity); lastC[9][3] =0; } //C89 if ((keysC[9][4] ==0) and (lastC[9][4] ==0)) { MidiSend(noteOn3, 89, velocity); lastC[9][4] =7; } //Write Midi Note Off if ((keysC[9][4] ==1) and (lastC[9][4] ==7)) { MidiSend(noteOff3, 89, velocity); lastC[9][4] =0; } //C90 if ((keysC[9][5] ==0) and (lastC[9][5] ==0)) { MidiSend(noteOn3, 90, velocity); lastC[9][5] =7; } //Write Midi Note Off if ((keysC[9][5] ==1) and (lastC[9][5] ==7)) { MidiSend(noteOff3, 90, velocity); lastC[9][5] =0; } //C91 if ((keysC[10][0] ==0) and (lastC[10][0] ==0)) { MidiSend(noteOn3, 91, velocity); lastC[10][0] =7; } //Write Midi Note Off if ((keysC[10][0] ==1) and (lastC[10][0] ==7)) { MidiSend(noteOff3, 91, velocity); lastC[10][0] =0; } //C92 if ((keysC[10][1] ==0) and (lastC[10][1] ==0)) { MidiSend(noteOn3, 92, velocity); lastC[10][1] =7; } //Write Midi Note Off if ((keysC[10][1] ==1) and (lastC[10][1] ==7)) { MidiSend(noteOff3, 92, velocity); lastC[10][1] =0; } //C93 if ((keysC[10][2] ==0) and (lastC[10][2] ==0)) { MidiSend(noteOn3, 93, velocity); lastC[10][2] =7; } //Write Midi Note Off if ((keysC[10][2] ==1) and (lastC[10][2] ==7)) { MidiSend(noteOff3, 93, velocity); lastC[10][2] =0; } //C94 if ((keysC[10][3] ==0) and (lastC[10][3] ==0)) { MidiSend(noteOn3, 94, velocity); lastC[10][3] =7; } //Write Midi Note Off if ((keysC[10][3] ==1) and (lastC[10][3] ==7)) { MidiSend(noteOff3, 94, velocity); lastC[10][3] =0; } //C95 if ((keysC[10][4] ==0) and (lastC[10][4] ==0)) { MidiSend(noteOn3, 95, velocity); lastC[10][4] =7; } //Write Midi Note Off if ((keysC[10][4] ==1) and (lastC[10][4] ==7)) { MidiSend(noteOff3, 95, velocity); lastC[10][4] =0; } //C96 if ((keysC[10][5] ==0) and (lastC[10][5] ==0)) { MidiSend(noteOn3, 96, velocity); lastC[10][5] =7; } //Write Midi Note Off if ((keysC[10][5] ==1) and (lastC[10][5] ==7)) { MidiSend(noteOff3, 96, velocity); lastC[10][5] =0; } //Write Keyboard D //D36 if ((keysD[0][0] ==0) and (lastD[0][0] ==0)) { MidiSend(noteOn4, 36, velocity); lastD[0][0] =7; } if ((keysD[0][0] ==1) and (lastD[0][0] ==7)) { MidiSend(noteOff4, 36, velocity); lastD[0][0] =0; } //D37 if ((keysD[1][0] ==0) and (lastD[1][0] ==0)) { MidiSend(noteOn4, 37, velocity); lastD[1][0] =7; } if ((keysD[1][0] ==1) and (lastD[1][0] ==7)) { MidiSend(noteOff4, 37, velocity); lastD[1][0] =0; } //D38 if ((keysD[1][1] ==0) and (lastD[1][1] ==0)) { MidiSend(noteOn4, 38, velocity); lastD[1][1] =7; } //Write Midi Note Off if ((keysD[1][1] ==1) and (lastD[1][1] ==7)) { MidiSend(noteOff4, 38, velocity); lastD[1][1] =0; } //D39 if ((keysD[1][2] ==0) and (lastD[1][2] ==0)) { MidiSend(noteOn4, 39, velocity); lastD[1][2] =7; } //Write Midi Note Off if ((keysD[1][2] ==1) and (lastD[1][2] ==7)) { MidiSend(noteOff4, 39, velocity); lastD[1][2] =0; } //D40 if ((keysD[1][3] ==0) and (lastD[1][3] ==0)) { MidiSend(noteOn4, 40, velocity); lastD[1][3] =7; } //Write Midi Note Off if ((keysD[1][3] ==1) and (lastD[1][3] ==7)) { MidiSend(noteOff4, 40, velocity); lastD[1][3] =0; } //D41 if ((keysD[1][4] ==0) and (lastD[1][4] ==0)) { MidiSend(noteOn4, 41, velocity); lastD[1][4] =7; } //Write Midi Note Off if ((keysD[1][4] ==1) and (lastD[1][4] ==7)) { MidiSend(noteOff4, 41, velocity); lastD[1][4] =0; } //D42 if ((keysD[1][5] ==0) and (lastD[1][5] ==0)) { MidiSend(noteOn4, 42, velocity); lastD[1][5] =7; } //Write Midi Note Off if ((keysD[1][5] ==1) and (lastD[1][5] ==7)) { MidiSend(noteOff4, 42, velocity); lastD[1][5] =0; } //D43 if ((keysD[2][0] ==0) and (lastD[2][0] ==0)) { MidiSend(noteOn4, 43, velocity); lastD[2][0] =7; } //Write Midi Note Off if ((keysD[2][0] ==1) and (lastD[2][0] ==7)) { MidiSend(noteOff4, 43, velocity); lastD[2][0] =0; } //B44 if ((keysD[2][1] ==0) and (lastD[2][1] ==0)) { MidiSend(noteOn4, 44, velocity); lastD[2][1] =7; } //Write Midi Note Off if ((keysD[2][1] ==1) and (lastD[2][1] ==7)) { MidiSend(noteOff4, 44, velocity); lastD[2][1] =0; } //D45 if ((keysD[2][2] ==0) and (lastD[2][2] ==0)) { MidiSend(noteOn4, 45, velocity); lastD[2][2] =7; } //Write Midi Note Off if ((keysD[2][2] ==1) and (lastD[2][2] ==7)) { MidiSend(noteOff4, 45, velocity); lastD[2][2] =0; } //D46 if ((keysD[2][3] ==0) and (lastD[2][3] ==0)) { MidiSend(noteOn4, 46, velocity); lastD[2][3] =7; } //Write Midi Note Off if ((keysD[2][3] ==1) and (lastD[2][3] ==7)) { MidiSend(noteOff4, 46, velocity); lastD[2][3] =0; } //D47 if ((keysD[2][4] ==0) and (lastD[2][4] ==0)) { MidiSend(noteOn4, 47, velocity); lastD[2][4] =7; } //Write Midi Note Off if ((keysD[2][4] ==1) and (lastD[2][4] ==7)) { MidiSend(noteOff4, 47, velocity); lastD[2][4] =0; } //D48 if ((keysD[2][5] ==0) and (lastD[2][5] ==0)) { MidiSend(noteOn4, 48, velocity); lastD[2][5] =7; } //Write Midi Note Off if ((keysD[2][5] ==1) and (lastD[2][5] ==7)) { MidiSend(noteOff4, 48, velocity); lastD[2][5] =0; } //D49 if ((keysD[3][0] ==0) and (lastD[3][0] ==0)) { MidiSend(noteOn4, 49, velocity); lastD[3][0] =7; } //Write Midi Note Off if ((keysD[3][0] ==1) and (lastD[3][0] ==7)) { MidiSend(noteOff4, 49, velocity); lastD[3][0] =0; } //D50 if ((keysD[3][1] ==0) and (lastD[3][1] ==0)) { MidiSend(noteOn4, 50, velocity); lastD[3][1] =7; } //Write Midi Note Off if ((keysD[3][1] ==1) and (lastD[3][1] ==7)) { MidiSend(noteOff4, 50, velocity); lastD[3][1] =0; } //D51 if ((keysD[3][2] ==0) and (lastD[3][2] ==0)) { MidiSend(noteOn4, 51, velocity); lastD[3][2] =7; } //Write Midi Note Off if ((keysD[3][2] ==1) and (lastD[3][2] ==7)) { MidiSend(noteOff4, 51, velocity); lastD[3][2] =0; } //D52 if ((keysD[3][3] ==0) and (lastD[3][3] ==0)) { MidiSend(noteOn4, 52, velocity); lastD[3][3] =7; } //Write Midi Note Off if ((keysD[3][3] ==1) and (lastD[3][3] ==7)) { MidiSend(noteOff4, 52, velocity); lastD[3][3] =0; } //D53 if ((keysD[3][4] ==0) and (lastD[3][4] ==0)) { MidiSend(noteOn4, 53, velocity); lastD[3][4] =7; } //Write Midi Note Off if ((keysD[3][4] ==1) and (lastD[3][4] ==7)) { MidiSend(noteOff4, 53, velocity); lastD[3][4] =0; } //D54 if ((keysD[3][5] ==0) and (lastD[3][5] ==0)) { MidiSend(noteOn4, 54, velocity); lastD[3][5] =7; } //Write Midi Note Off if ((keysD[3][5] ==1) and (lastD[3][5] ==7)) { MidiSend(noteOff4, 54, velocity); lastD[3][5] =0; } //D55 if ((keysD[4][0] ==0) and (lastD[4][0] ==0)) { MidiSend(noteOn4, 55, velocity); lastD[4][0] =7; } //Write Midi Note Off if ((keysD[4][0] ==1) and (lastD[4][0] ==7)) { MidiSend(noteOff4, 55, velocity); lastD[4][0] =0; } //D56 if ((keysD[4][1] ==0) and (lastD[4][1] ==0)) { MidiSend(noteOn4, 56, velocity); lastD[4][1] =7; } //Write Midi Note Off if ((keysD[4][1] ==1) and (lastD[4][1] ==7)) { MidiSend(noteOff4, 56, velocity); lastD[4][1] =0; } //D57 if ((keysD[4][2] ==0) and (lastD[4][2] ==0)) { MidiSend(noteOn4, 57, velocity); lastD[4][2] =7; } //Write Midi Note Off if ((keysD[4][2] ==1) and (lastD[4][2] ==7)) { MidiSend(noteOff4, 57, velocity); lastD[4][2] =0; } //D58 if ((keysD[4][3] ==0) and (lastD[4][3] ==0)) { MidiSend(noteOn4, 58, velocity); lastD[4][3] =7; } //Write Midi Note Off if ((keysD[4][3] ==1) and (lastD[4][3] ==7)) { MidiSend(noteOff4, 58, velocity); lastD[4][3] =0; } //D59 if ((keysD[4][4] ==0) and (lastD[4][4] ==0)) { MidiSend(noteOn4, 59, velocity); lastD[4][4] =7; } //Write Midi Note Off if ((keysD[4][4] ==1) and (lastD[4][4] ==7)) { MidiSend(noteOff4, 59, velocity); lastD[4][4] =0; } //D60 if ((keysD[4][5] ==0) and (lastD[4][5] ==0)) { MidiSend(noteOn4, 60, velocity); lastD[4][5] =7; } //Write Midi Note Off if ((keysD[4][5] ==1) and (lastD[4][5] ==7)) { MidiSend(noteOff4, 60, velocity); lastD[4][5] =0; } //D61 if ((keysD[5][0] ==0) and (lastD[5][0] ==0)) { MidiSend(noteOn4, 61, velocity); lastD[5][0] =7; } //Write Midi Note Off if ((keysD[5][0] ==1) and (lastD[5][0] ==7)) { MidiSend(noteOff4, 61, velocity); lastD[5][0] =0; } //D62 if ((keysD[5][1] ==0) and (lastD[5][1] ==0)) { MidiSend(noteOn4, 62, velocity); lastD[5][1] =7; } //Write Midi Note Off if ((keysD[5][1] ==1) and (lastD[5][1] ==7)) { MidiSend(noteOff4, 62, velocity); lastD[5][1] =0; } //D63 if ((keysD[5][2] ==0) and (lastD[5][2] ==0)) { MidiSend(noteOn4, 63, velocity); lastD[5][2] =7; } //Write Midi Note Off if ((keysD[5][2] ==1) and (lastD[5][2] ==7)) { MidiSend(noteOff4, 63, velocity); lastD[5][2] =0; } //D64 if ((keysD[5][3] ==0) and (lastD[5][3] ==0)) { MidiSend(noteOn4, 64, velocity); lastD[5][3] =7; } //Write Midi Note Off if ((keysD[5][3] ==1) and (lastD[5][3] ==7)) { MidiSend(noteOff4, 64, velocity); lastD[5][3] =0; } //D65 if ((keysD[5][4] ==0) and (lastD[5][4] ==0)) { MidiSend(noteOn4, 65, velocity); lastD[5][4] =7; } //Write Midi Note Off if ((keysD[5][4] ==1) and (lastD[5][4] ==7)) { MidiSend(noteOff4, 65, velocity); lastD[5][4] =0; } //D66 if ((keysD[5][5] ==0) and (lastD[5][5] ==0)) { MidiSend(noteOn4, 66, velocity); lastD[5][5] =7; } //Write Midi Note Off if ((keysD[5][5] ==1) and (lastD[5][5] ==7)) { MidiSend(noteOff4, 66, velocity); lastD[5][5] =0; } //D67 if ((keysD[6][0] ==0) and (lastD[6][0] ==0)) { MidiSend(noteOn4, 67, velocity); lastD[6][0] =7; } //Write Midi Note Off if ((keysD[6][0] ==1) and (lastD[6][0] ==7)) { MidiSend(noteOff4, 67, velocity); lastD[6][0] =0; } //D68 if ((keysD[6][1] ==0) and (lastD[6][1] ==0)) { MidiSend(noteOn4, 68, velocity); lastD[6][1] =7; } //Write Midi Note Off if ((keysD[6][1] ==1) and (lastD[6][1] ==7)) { MidiSend(noteOff4, 68, velocity); lastD[6][1] =0; } //D69 if ((keysD[6][2] ==0) and (lastD[6][2] ==0)) { MidiSend(noteOn4, 69, velocity); lastD[6][2] =7; } //Write Midi Note Off if ((keysD[6][2] ==1) and (lastD[6][2] ==7)) { MidiSend(noteOff4, 69, velocity); lastD[6][2] =0; } //D70 if ((keysD[6][3] ==0) and (lastD[6][3] ==0)) { MidiSend(noteOn4, 70, velocity); lastD[6][3] =7; } //Write Midi Note Off if ((keysD[6][3] ==1) and (lastD[6][3] ==7)) { MidiSend(noteOff4, 70, velocity); lastD[6][3] =0; } //D71 if ((keysD[6][4] ==0) and (lastD[6][4] ==0)) { MidiSend(noteOn4, 71, velocity); lastD[6][4] =7; } //Write Midi Note Off if ((keysD[6][4] ==1) and (lastD[6][4] ==7)) { MidiSend(noteOff4, 71, velocity); lastD[6][4] =0; } //D72 if ((keysD[6][5] ==0) and (lastD[6][5] ==0)) { MidiSend(noteOn4, 72, velocity); lastD[6][5] =7; } //Write Midi Note Off if ((keysD[6][5] ==1) and (lastD[6][5] ==7)) { MidiSend(noteOff4, 72, velocity); lastD[6][5] =0; } //D73 if ((keysD[7][0] ==0) and (lastD[7][0] ==0)) { MidiSend(noteOn4, 73, velocity); lastD[7][0] =7; } //Write Midi Note Off if ((keysD[7][0] ==1) and (lastD[7][0] ==7)) { MidiSend(noteOff4, 73, velocity); lastD[7][0] =0; } //D74 if ((keysD[7][1] ==0) and (lastD[7][1] ==0)) { MidiSend(noteOn4, 74, velocity); lastD[7][1] =7; } //Write Midi Note Off if ((keysD[7][1] ==1) and (lastD[7][1] ==7)) { MidiSend(noteOff4, 74, velocity); lastD[7][1] =0; } //D75 if ((keysD[7][2] ==0) and (lastD[7][2] ==0)) { MidiSend(noteOn4, 75, velocity); lastD[7][2] =7; } //Write Midi Note Off if ((keysD[7][2] ==1) and (lastD[7][2] ==7)) { MidiSend(noteOff4, 75, velocity); lastD[7][2] =0; } //D76 if ((keysD[7][3] ==0) and (lastD[7][3] ==0)) { MidiSend(noteOn4, 76, velocity); lastD[7][3] =7; } //Write Midi Note Off if ((keysD[7][3] ==1) and (lastD[7][3] ==7)) { MidiSend(noteOff4, 76, velocity); lastD[7][3] =0; } //D77 if ((keysD[7][4] ==0) and (lastD[7][4] ==0)) { MidiSend(noteOn4, 77, velocity); lastD[7][4] =7; } //Write Midi Note Off if ((keysD[7][4] ==1) and (lastD[7][4] ==7)) { MidiSend(noteOff4, 77, velocity); lastD[7][4] =0; } //D78 if ((keysD[7][5] ==0) and (lastD[7][5] ==0)) { MidiSend(noteOn4, 78, velocity); lastD[7][5] =7; } //Write Midi Note Off if ((keysD[7][5] ==1) and (lastD[7][5] ==7)) { MidiSend(noteOff4, 78, velocity); lastD[7][5] =0; } //D79 if ((keysD[8][0] ==0) and (lastD[8][0] ==0)) { MidiSend(noteOn4, 79, velocity); lastD[8][0] =7; } //Write Midi Note Off if ((keysD[8][0] ==1) and (lastD[8][0] ==7)) { MidiSend(noteOff4, 79, velocity); lastD[8][0] =0; } //D80 if ((keysD[8][1] ==0) and (lastD[8][1] ==0)) { MidiSend(noteOn4, 80, velocity); lastD[8][1] =7; } //Write Midi Note Off if ((keysD[8][1] ==1) and (lastD[8][1] ==7)) { MidiSend(noteOff4, 80, velocity); lastD[8][1] =0; } //D81 if ((keysD[8][2] ==0) and (lastD[8][2] ==0)) { MidiSend(noteOn4, 81, velocity); lastD[8][2] =7; } //Write Midi Note Off if ((keysD[8][2] ==1) and (lastD[8][2] ==7)) { MidiSend(noteOff4, 81, velocity); lastD[8][2] =0; } //D82 if ((keysD[8][3] ==0) and (lastD[8][3] ==0)) { MidiSend(noteOn4, 82, velocity); lastD[8][3] =7; } //Write Midi Note Off if ((keysD[8][3] ==1) and (lastD[8][3] ==7)) { MidiSend(noteOff4, 82, velocity); lastD[8][3] =0; } //D83 if ((keysD[8][4] ==0) and (lastD[8][4] ==0)) { MidiSend(noteOn4, 83, velocity); lastD[8][4] =7; } //Write Midi Note Off if ((keysD[8][4] ==1) and (lastD[8][4] ==7)) { MidiSend(noteOff4, 83, velocity); lastD[8][4] =0; } //D84 if ((keysD[8][5] ==0) and (lastD[8][5] ==0)) { MidiSend(noteOn4, 84, velocity); lastD[8][5] =7; } //Write Midi Note Off if ((keysD[8][5] ==1) and (lastD[8][5] ==7)) { MidiSend(noteOff4, 84, velocity); lastD[8][5] =0; } //D85 if ((keysD[9][0] ==0) and (lastD[9][0] ==0)) { MidiSend(noteOn4, 85, velocity); lastD[9][0] =7; } //Write Midi Note Off if ((keysD[9][0] ==1) and (lastD[9][0] ==7)) { MidiSend(noteOff4, 85, velocity); lastD[9][0] =0; } //D86 if ((keysD[9][1] ==0) and (lastD[9][1] ==0)) { MidiSend(noteOn4, 86, velocity); lastD[9][1] =7; } //Write Midi Note Off if ((keysD[9][1] ==1) and (lastD[9][1] ==7)) { MidiSend(noteOff4, 86, velocity); lastD[9][1] =0; } //D87 if ((keysD[9][2] ==0) and (lastD[9][2] ==0)) { MidiSend(noteOn4, 87, velocity); lastD[9][2] =7; } //Write Midi Note Off if ((keysD[9][2] ==1) and (lastD[9][2] ==7)) { MidiSend(noteOff4, 87, velocity); lastD[9][2] =0; } //D88 if ((keysD[9][3] ==0) and (lastD[9][3] ==0)) { MidiSend(noteOn4, 88, velocity); lastD[9][3] =7; } //Write Midi Note Off if ((keysD[9][3] ==1) and (lastD[9][3] ==7)) { MidiSend(noteOff4, 88, velocity); lastD[9][3] =0; } //D89 if ((keysD[9][4] ==0) and (lastD[9][4] ==0)) { MidiSend(noteOn4, 89, velocity); lastD[9][4] =7; } //Write Midi Note Off if ((keysD[9][4] ==1) and (lastD[9][4] ==7)) { MidiSend(noteOff4, 89, velocity); lastD[9][4] =0; } //D90 if ((keysD[9][5] ==0) and (lastD[9][5] ==0)) { MidiSend(noteOn4, 90, velocity); lastD[9][5] =7; } //Write Midi Note Off if ((keysD[9][5] ==1) and (lastD[9][5] ==7)) { MidiSend(noteOff4, 90, velocity); lastD[9][5] =0; } //D91 if ((keysD[10][0] ==0) and (lastD[10][0] ==0)) { MidiSend(noteOn4, 91, velocity); lastD[10][0] =7; } //Write Midi Note Off if ((keysD[10][0] ==1) and (lastD[10][0] ==7)) { MidiSend(noteOff4, 91, velocity); lastD[10][0] =0; } //D92 if ((keysD[10][1] ==0) and (lastD[10][1] ==0)) { MidiSend(noteOn4, 92, velocity); lastD[10][1] =7; } //Write Midi Note Off if ((keysD[10][1] ==1) and (lastD[10][1] ==7)) { MidiSend(noteOff4, 92, velocity); lastD[10][1] =0; } //D93 if ((keysD[10][2] ==0) and (lastD[10][2] ==0)) { MidiSend(noteOn4, 93, velocity); lastD[10][2] =7; } //Write Midi Note Off if ((keysD[10][2] ==1) and (lastD[10][2] ==7)) { MidiSend(noteOff4, 93, velocity); lastD[10][2] =0; } //D94 if ((keysD[10][3] ==0) and (lastD[10][3] ==0)) { MidiSend(noteOn4, 94, velocity); lastD[10][3] =7; } //Write Midi Note Off if ((keysD[10][3] ==1) and (lastD[10][3] ==7)) { MidiSend(noteOff4, 94, velocity); lastD[10][3] =0; } //D95 if ((keysD[10][4] ==0) and (lastD[10][4] ==0)) { MidiSend(noteOn4, 95, velocity); lastD[10][4] =7; } //Write Midi Note Off if ((keysD[10][4] ==1) and (lastD[10][4] ==7)) { MidiSend(noteOff4, 95, velocity); lastD[10][4] =0; } //D96 if ((keysD[10][5] ==0) and (lastD[10][5] ==0)) { MidiSend(noteOn4, 96, velocity); lastD[10][5] =7; } //Write Midi Note Off if ((keysD[10][5] ==1) and (lastD[10][5] ==7)) { MidiSend(noteOff4, 96, velocity); lastD[10][5] =0; } //Write Keyboard C, only for inverted switches, first 32 notes only. /* //C36 if ((keysC[0][0] ==0) and (lastC[0][0] ==0)) { MidiSend(noteOff3, 36, velocity); lastC [0] [0] =7; } if ((keysC[0][0] ==1) and (lastC[0][0] ==7)) { MidiSend(noteOn3, 36, velocity); lastC [0] [0] =0; } //C37 if ((keysC[1][0] ==0) and (lastC[1][0] ==0)) { MidiSend(noteOff3, 37, velocity); lastC [1] [0] =7; } if ((keysC[1][0] ==1) and (lastC[1][0] ==7)) { MidiSend(noteOn3, 37, velocity); lastC [1] [0] =0; } //C38 if ((keysC[1][1] ==0) and (lastC[1][1] ==0)) { MidiSend(noteOff3, 38, velocity); lastC [1] [1] =7; } //Write Midi Note Off if ((keysC[1][1] ==1) and (lastC[1][1] ==7)) { MidiSend(noteOn3, 38, velocity); lastC[1][1] =0; } //C39 if ((keysC[1][2] ==0) and (lastC[1][2] ==0)) { MidiSend(noteOff3, 39, velocity); lastC[1][2] =7; } //Write Midi Note Off if ((keysC[1][2] ==1) and (lastC[1][2] ==7)) { MidiSend(noteOn3, 39, velocity); lastC[1][2] =0; } //C40 if ((keysC[1][3] ==0) and (lastC[1][3] ==0)) { MidiSend(noteOff3, 40, velocity); lastC[1][3] =7; } //Write Midi Note Off if ((keysC[1][3] ==1) and (lastC[1][3] ==7)) { MidiSend(noteOn3, 40, velocity); lastC[1][3] =0; } //C41 if ((keysC[1][4] ==0) and (lastC[1][4] ==0)) { MidiSend(noteOff3, 41, velocity); lastC[1][4] =7; } //Write Midi Note Off if ((keysC[1][4] ==1) and (lastC[1][4] ==7)) { MidiSend(noteOn3, 41, velocity); lastC[1][4] =0; } //C42 if ((keysC[1][5] ==0) and (lastC[1][5] ==0)) { MidiSend(noteOff3, 42, velocity); lastC[1][5] =7; } //Write Midi Note Off if ((keysC[1][5] ==1) and (lastC[1][5] ==7)) { MidiSend(noteOn3, 42, velocity); lastC[1][5] =0; } //C43 if ((keysC[2][0] ==0) and (lastC[2][0] ==0)) { MidiSend(noteOff3, 43, velocity); lastC[2][0] =7; } //Write Midi Note Off if ((keysC[2][0] ==1) and (lastC[2][0] ==7)) { MidiSend(noteOn3, 43, velocity); lastC[2][0] =0; } //C44 if ((keysC[2][1] ==0) and (lastC[2][1] ==0)) { MidiSend(noteOff3, 44, velocity); lastC[2][1] =7; } //Write Midi Note Off if ((keysC[2][1] ==1) and (lastC[2][1] ==7)) { MidiSend(noteOn3, 44, velocity); lastC[2][1] =0; } //C45 if ((keysC[2][2] ==0) and (lastC[2][2] ==0)) { MidiSend(noteOff3, 45, velocity); lastC[2][2] =7; } //Write Midi Note Off if ((keysC[2][2] ==1) and (lastC[2][2] ==7)) { MidiSend(noteOn3, 45, velocity); lastC[2][2] =0; } //C46 if ((keysC[2][3] ==0) and (lastC[2][3] ==0)) { MidiSend(noteOff3, 46, velocity); lastC[2][3] =7; } //Write Midi Note Off if ((keysC[2][3] ==1) and (lastC[2][3] ==7)) { MidiSend(noteOn3, 46, velocity); lastC[2][3] =0; } //C47 if ((keysC[2][4] ==0) and (lastC[2][4] ==0)) { MidiSend(noteOff3, 47, velocity); lastC[2][4] =7; } //Write Midi Note Off if ((keysC[2][4] ==1) and (lastC[2][4] ==7)) { MidiSend(noteOn3, 47, velocity); lastC[2][4] =0; } //C48 if ((keysC[2][5] ==0) and (lastC[2][5] ==0)) { MidiSend(noteOff3, 48, velocity); lastC[2][5] =7; } //Write Midi Note Off if ((keysC[2][5] ==1) and (lastC[2][5] ==7)) { MidiSend(noteOn3, 48, velocity); lastC[2][5] =0; } //C49 if ((keysC[3][0] ==0) and (lastC[3][0] ==0)) { MidiSend(noteOff3, 49, velocity); lastC[3][0] =7; } //Write Midi Note Off if ((keysC[3][0] ==1) and (lastC[3][0] ==7)) { MidiSend(noteOn3, 49, velocity); lastC[3][0] =0; } //C50 if ((keysC[3][1] ==0) and (lastC[3][1] ==0)) { MidiSend(noteOff3, 50, velocity); lastC[3][1] =7; } //Write Midi Note Off if ((keysC[3][1] ==1) and (lastC[3][1] ==7)) { MidiSend(noteOn3, 50, velocity); lastC[3][1] =0; } //C51 if ((keysC[3][2] ==0) and (lastC[3][2] ==0)) { MidiSend(noteOff3, 51, velocity); lastC[3][2] =7; } //Write Midi Note Off if ((keysC[3][2] ==1) and (lastC[3][2] ==7)) { MidiSend(noteOn3, 51, velocity); lastC[3][2] =0; } //C52 if ((keysC[3][3] ==0) and (lastC[3][3] ==0)) { MidiSend(noteOff3, 52, velocity); lastC[3][3] =7; } //Write Midi Note Off if ((keysC[3][3] ==1) and (lastC[3][3] ==7)) { MidiSend(noteOn3, 52, velocity); lastC[3][3] =0; } //C53 if ((keysC[3][4] ==0) and (lastC[3][4] ==0)) { MidiSend(noteOff3, 53, velocity); lastC[3][4] =7; } //Write Midi Note Off if ((keysC[3][4] ==1) and (lastC[3][4] ==7)) { MidiSend(noteOn3, 53, velocity); lastC[3][4] =0; } //C54 if ((keysC[3][5] ==0) and (lastC[3][5] ==0)) { MidiSend(noteOff3, 54, velocity); lastC[3][5] =7; } //Write Midi Note Off if ((keysC[3][5] ==1) and (lastC[3][5] ==7)) { MidiSend(noteOn3, 54, velocity); lastC[3][5] =0; } //C55 if ((keysC[4][0] ==0) and (lastC[4][0] ==0)) { MidiSend(noteOff3, 55, velocity); lastC[4][0] =7; } //Write Midi Note Off if ((keysC[4][0] ==1) and (lastC[4][0] ==7)) { MidiSend(noteOn3, 55, velocity); lastC[4][0] =0; } //C56 if ((keysC[4][1] ==0) and (lastC[4][1] ==0)) { MidiSend(noteOff3, 56, velocity); lastC[4][1] =7; } //Write Midi Note Off if ((keysC[4][1] ==1) and (lastC[4][1] ==7)) { MidiSend(noteOn3, 56, velocity); lastC[4][1] =0; } //C57 if ((keysC[4][2] ==0) and (lastC[4][2] ==0)) { MidiSend(noteOff3, 57, velocity); lastC[4][2] =7; } //Write Midi Note Off if ((keysC[4][2] ==1) and (lastC[4][2] ==7)) { MidiSend(noteOn3, 57, velocity); lastC[4][2] =0; } //C58 if ((keysC[4][3] ==0) and (lastC[4][3] ==0)) { MidiSend(noteOff3, 58, velocity); lastC[4][3] =7; } //Write Midi Note Off if ((keysC[4][3] ==1) and (lastC[4][3] ==7)) { MidiSend(noteOn3, 58, velocity); lastC[4][3] =0; } //C59 if ((keysC[4][4] ==0) and (lastC[4][4] ==0)) { MidiSend(noteOff3, 59, velocity); lastC[4][4] =7; } //Write Midi Note Off if ((keysC[4][4] ==1) and (lastC[4][4] ==7)) { MidiSend(noteOn3, 59, velocity); lastC[4][4] =0; } //C60 if ((keysC[4][5] ==0) and (lastC[4][5] ==0)) { MidiSend(noteOff3, 60, velocity); lastC[4][5] =7; } //Write Midi Note Off if ((keysC[4][5] ==1) and (lastC[4][5] ==7)) { MidiSend(noteOn3, 60, velocity); lastC[4][5] =0; } //C61 if ((keysC[5][0] ==0) and (lastC[5][0] ==0)) { MidiSend(noteOff3, 61, velocity); lastC[5][0] =7; } //Write Midi Note Off if ((keysC[5][0] ==1) and (lastC[5][0] ==7)) { MidiSend(noteOn3, 61, velocity); lastC[5][0] =0; } //C62 if ((keysC[5][1] ==0) and (lastC[5][1] ==0)) { MidiSend(noteOff3, 62, velocity); lastC[5][1] =7; } //Write Midi Note Off if ((keysC[5][1] ==1) and (lastC[5][1] ==7)) { MidiSend(noteOn3, 62, velocity); lastC[5][1] =0; } //C63 if ((keysC[5][2] ==0) and (lastC[5][2] ==0)) { MidiSend(noteOff3, 63, velocity); lastC[5][2] =7; } //Write Midi Note Off if ((keysC[5][2] ==1) and (lastC[5][2] ==7)) { MidiSend(noteOn3, 63, velocity); lastC[5][2] =0; } //C64 if ((keysC[5][3] ==0) and (lastC[5][3] ==0)) { MidiSend(noteOff3, 64, velocity); lastC[5][3] =7; } //Write Midi Note Off if ((keysC[5][3] ==1) and (lastC[5][3] ==7)) { MidiSend(noteOn3, 64, velocity); lastC[5][3] =0; } //C65 if ((keysC[5][4] ==0) and (lastC[5][4] ==0)) { MidiSend(noteOff3, 65, velocity); lastC[5][4] =7; } //Write Midi Note Off if ((keysC[5][4] ==1) and (lastC[5][4] ==7)) { MidiSend(noteOn3, 65, velocity); lastC[5][4] =0; } //C66 if ((keysC[5][5] ==0) and (lastC[5][5] ==0)) { MidiSend(noteOff3, 66, velocity); lastC[5][5] =7; } //Write Midi Note Off if ((keysC[5][5] ==1) and (lastC[5][5] ==7)) { MidiSend(noteOn3, 66, velocity); lastC[5][5] =0; } //C67 if ((keysC[6][0] ==0) and (lastC[6][0] ==0)) { MidiSend(noteOff3, 67, velocity); lastC[6][0] =7; } //Write Midi Note Off if ((keysC[6][0] ==1) and (lastC[6][0] ==7)) { MidiSend(noteOn3, 67, velocity); lastC[6][0] =0; } */ //Expression Pedal controls //Expression pedal on analog pin A13 to Channel 6 int Cur6 =analogRead(13); int Map6 =map(Cur6, 0, 1023, 0, 127); if (abs(Cur6 - LastPot6)>=8) { MidiSend(chan6,Exp,Map6); LastPot6 =Cur6; } //Expression pedal on analog pin A14 to Channel 7 int Cur7 =analogRead(14); int Map7 =map(Cur7, 0, 1023, 0, 127); if (abs(Cur7 - LastPot7)>=8) { MidiSend(chan7,Exp,Map7); LastPot7 =Cur7; } //Expression pedal on analog pin A15 to Channel 8 int Cur8 =analogRead(15); int Map8 =map(Cur8, 0, 1023, 0, 127); if (abs(Cur8 - LastPot8)>=8) { MidiSend(chan8,Exp,Map8); LastPot8 =Cur8; }}void MidiSend(int one, int two, int three) { Serial.write(one); Serial.write(two); Serial.write(three); } 

回路図

Wiring diagram for 6x11 Matrix keyboards and pedalboard with potentiometer inputsWiring diagram for Bussed keyboards with potentiometer inputs

製造プロセス

  1. ソフトウェアコンポーネントのISO26262認証
  2. Eclipse Ditto 1.0:デジタルツインビルダー向けのフレームワーク
  3. IoTにおけるクラウドベースのソフトウェアアップデートのコンポーネント
  4. カーペット業界向けの切断ソリューション–デジタル切断機
  5. デジタル資産管理の戦略
  6. UL:プラスチック部品の可燃性のテスト
  7. プラスチック部品を接着するための4つの基本的な技術
  8. 自動車外装部品用ガラス充填PET
  9. 2020年の3つのデジタルマニュファクチャリングトレンド
  10. デジタルトランスフォーメーションの成功を計画する
  11. Invar 36 コンポーネントの材料