
子供用にヤマハPSR-550シンセサイザーを買ったことがあります。 このツールは最初の若者ではありませんでしたが、使いやすいものでした。 子供たちは熱意を示し、すぐにシンセサイザーに慣れました。彼らはコントロールを理解し、「缶を書く」などを学びました。 シンセサイザーの背面にある「MIDI IN」および「MIDI OUT」コネクターの存在は気になりませんでした。
問題の声明
前世紀では、MIDI経由でコンピューターとシンセサイザーを接続する最も簡単な方法は、 ゲームポートを使用することでした。 インターフェイス信号(ゲームポートのコネクタのMIDIおよびTTLの「現在のループ」)を一致させるために、単純なアダプタが作成されました。その回路は、 MIDIウィキペディアの記事に記載されています 。

現在、サウンドとマザーボードのゲームポートはクラスとして消滅しています。 最新のOSのゲームポートドライバが見つかりません。
インターフェースの「物理」は、 ウィキペディアの記事から原理的に理解できました。データは、1ストップビットとパリティのない8ビットデータパケットで31250 bpsの速度でスタートストッププロトコルを使用して交換されます。 信号回路の論理ゼロは5 mAの電流フローに対応し、論理ユニットは回路に電流がありません。
原則として、ゲームポートはUSB UARTに置き換えて、Wikipediaの記事で説明されているアダプターを接続できます。
このソリューションの最初の問題は、OSに強制的にUART COMポートをMIDIポートとして定義させることです。 予想外に、問題の解決策はArduinoフォーラムで見つかりました。 そこで、仮想COMポートの「上」にある無料のMIDIポートエミュレーターへのリンクを見つけました。 エミュレートされたポートをMIDIエディターに接続するために、開発者は仮想ループMIDIコードの使用を推奨しました。
2番目の問題:UARTを31,250 bpsで実行する。
これらのデータはすべて、 技術的な提案を策定するのに十分でした:
「コンピューターをMIDI経由でシンセサイザーに接続するには、USB UARTとアダプターを使用して、TTL信号を「電流ループ0 ... 5 mA」信号、loopMIDIソフトウェア、ヘアレスMIDI <->シリアルブリッジ、およびUARTドライバーで一致させることをお勧めします31,250 bpsの速度。」
ハードウェア
ハードウェアソリューションの選択は非常に簡単でした-記事の著者のビンに見つかりました:
- CP2102に基づくUSB UART;
- AOT101Aオプトカプラー;
- 超小型回路K1533LN2;
- 一対のコネクタ-5(その他の名称:--4-5/16-、DIN 41524);
- 数メートルのシールド音響ケーブルSHGES。
その結果、このようなアダプター回路は、サイズが40x15のユニバーサルブレッドボードをトリミングして組み立てられました。

組み立てられた回路の性能は次のように検証されました。
- アダプターは、シンセサイザーのMIDIコネクターに接続されました。
- シンセサイザーはローカル制御が無効になっています(MIDIローカル=オフ)。
- アダプターのRX信号とTX信号の間にジャンパーを設定した後、シンセサイザーはキーストロークに応答し始めました。
回路の動作が説明なく明確であることを願っています。 私はそれだけに注意してください:
- K1533LN2チップの要素には、外部負荷なしでは機能しない「オープンコレクタ」タイプの出力があります。
- コンデンサC1は、電源端子DD1のできるだけ近くに接続されています。
- シンセサイザーのMIDI INコネクターへのケーブルの編組は、アダプターの共通ワイヤーにのみ接続されます。
- シンセサイザーのMIDI OUTコネクターへのケーブルの編組は、コネクターの端子2にのみ接続されます。
ソフトウェア
次に、次のソフトウェアがコンピューターにインストールされました。
- CP2102用のVCPドライバー 。
- CP2102を設定するためのユーティリティパッケージ 。
- MIDIポートエミュレーターヘアレスMIDI <-> Angus Grattonによるシリアルブリッジ 。
- トビアス・エリクセンによるバーチャルMIDIコード・ループMIDI
- MIDIエディターAnvil Studio。
その後、loopMIDIで2つのコードが作成されました-「Synthesizer」と「Keyboard」:

MIDIエディターをMIDI INシンセサイザージャックに接続するために、シンセサイザーコードがAnvil Studio出力とMIDIポートエミュレーター入力の間に接続されました。
MIDIエディターをMIDI OUTシンセサイザーコネクタに接続するために、MIDIケーブルエミュレーターの出力とAnvil Studio入力の間にキーボードケーブルを接続しました。


ソフトウェアを設定する最後の非常に重要なステップは、CP2102ビットレートを38,400 bpsではなく31,250 bpsに設定することでした。

速度を設定した後、「構成の設定」ボタンをクリックする必要があります。 次に、デバイスマネージャおよびヘアレスMIDI <->シリアルブリッジのUART CP2102 COMポートの通信速度の設定で、38400を選択します。
簡単な要約
その結果、Anvil StudioのMIDIエディターは、ヤマハPSR-550シンセサイザーとの通信チャネルを受け取りました。 子供たちは熱心にMIDIエディターの操作方法を学び始めました。 私は安心を取り戻しました。
PS PL2303の38,400 bpsではなく、31,250 bpsに速度を設定する方法については、 ここで説明しました 。
PPS CH341の速度を38,400 bpsではなく31,250 bpsに設定する方法はどこにもありません。