キーボードプログラミング...ピアノ

プログラマーとミュージシャンを区別する方法は? C#とは何かを尋ねます。



1950年代初頭以来、人類がやっと電子機器に歌教えることができたとき、コンピューターは徐々にサウンド制作に役立つ便利な楽器になりました。 今日、デジタルシンセサイザー、VSTプラグイン、およびデジタルサウンドワークステーションのおかげで、自宅で磁気テープと録音を備えたエンドレスコイルを忘れることができ、品質はスタジオのようになります(十分に目的がある場合)。



音楽業界におけるこのような進歩は、MIDIプロトコルの発明により大幅に促進され、デジタルプロトコルを使用した電子楽器間のデータ交換を保証することが可能になりました。 プロトコル自体は、MIDIメッセージの概念に基づいており、各メッセージは、メッセージのタイプを示すステータスバイトと、情報ロードを伝送する数バイトのデータで構成されています。



例として、MIDIキーボードで(ラテン語のトランスクリプション-Cで)中央のキーを押して離すとどうなるかを考えてみましょう(MIDIチャンネル1を使用すると仮定します)。







ステータスバイト データバイト1 データバイト2
144



=メモを取る
60



= 3オクターブに注意
127



=速度(0..127):キーを強く押す
128



=メモを取る
60



= 3オクターブに注意
10



=速度(0..127):キーのスムーズなリリース


おなじみですよね?



はい、これはコンピューターキーボードの原理に非常に似ています(唯一の違いはMIDIほど多くの機能を持たないことです)。 このようにして、これらのメッセージを簡単に解釈し、MIDI入力デバイスを便利なコンピュータープログラミングツールに変えることができます。 MIDIラウンチパッドが次のように構成されていると想像してください。





(プッシュキーを強く押すと、git push -fコマンドが実行されます)



勇気があれば、コンピューターのキーボードを完全にデジタルピアノに置き換えることもできます。 必要なのは、MIDIメッセージをコンピューターの指示に変換するための何らかのソフトウェアのコンピューター上の存在だけです。 ユーザーモードドライバーにすることも、お気に入りの統合開発環境用のプラグインを作成して、新しいトリックの実行方法を教えることもできます。



それが私たちがしたことです。 スポーツの興味から、MIDIツールを使用してコードを記述し、VSを自動化できるVisual Studioソフトウェア拡張機能であるMidichlorianを開発しました。 そして、パイ音楽の影響下で、私の同僚のラナは音楽を作曲しましたが、これは同時にCシャープ・マイナー(ラテン語の転写-C#m)のキーのメロディーとC#の既存のコンピュータープログラムです。 仕組みをご覧ください。







「塗りつぶし」に関しては、拡張機能はエディターウィンドウに接続され、 着信MIDIストリームを処理し、その中の ノートとコードを認識し、ユーザーインターフェイスで構成された設定に従って適切なVisual Studioコマンドを実行します。





これはオープンソースの拡張機能です-誰でもGitHubでの開発に貢献し、独自の音楽を作成できます。



PS当然、楽譜がなければ、この投稿は不完全です。

「Hello World」-C Sharp MinorのVisual Studioスイート



ABBYY Language Servicesによる翻訳。



All Articles