-2

MIDIキーボードをWebに接続するプロセス全体を理解しようとしています。私はそこにあるものを見つけましたが、それらは3歳かそこらで、それ以来かなりの量が変化したと思います.

開始する場所を確保するために、MIDI キーボードを押したときに叩いている音を単純に表示する Web アプリを作成したいと考えています。

私はこのスレッドを見つけて、それを機能させました: Web midi api で midi キーボードを検出するにはどうすればよいですか?

私はメモを登録する方法で立ち往生していると思います。私はこのようなことに少し慣れていないので、見つけた答えはどれも私にはあまり意味がありません。ありがとう。

4

2 に答える 2

0

これは非常に役立つことがわかりました: http://webaudiodemos.appspot.com/monosynth/

どのノートが再生されているかを表示するために少し追加しました: https://github.com/danhogan/monosynth

于 2014-07-24T17:47:43.587 に答える
0

リンク先のスレッドは、MIDI アクセスを取得する方法を示していますが、アクセスを取得した後に MIDI メッセージを処理する方法は示していません。その例に欠けているのは、次のようなものです。

midiAccess.inputs()[0].onmidimessage = function(event){
    console.log(event.receivedTime, event.data)
    // do cool stuff with midi data here
}

この場合に最適なライブラリ Wad.js を作成しました。https://github.com/rserota/wad#midi-input

基本的に、Wad.js が初期化されると、接続されているすべての MIDI デバイスが自動的に検出され、それらが送信するすべての MIDI メッセージがコンソールに記録されます。デバイスのデータがどのように見えるかを理解したら、それらのメッセージを処理する MIDI イベント ハンドラー関数を記述できます。

Wad.midiInputs[0].onmidimessage = function(event){
    console.log(event.receivedTime, event.data);
};
Wad.midiInputs[1].onmidimessage = anotherMidiHandlerFunction // If you have multiple MIDI devices that you would like to use simultaneously, you will need multiple MIDI handler functions.

これを書いている時点では、MIDI は「実験的機能」として Chrome でのみ利用できると思うので、手動で有効にする必要があります。また、ブラウザーに低レベルの MIDI アクセスを許可するには、jazz-plugin ( http://jazz-soft.net/doc/Jazz-Plugin/ )をインストールする必要があります。それでも MIDI の検出に問題がある場合

于 2014-10-02T20:56:24.990 に答える