問題タブ [web-midi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
216 参照

javascript - MIDI.js のピアノ音の長さを長くする

私は MIDI.js を使用して、ユーザーがキーボードでピアノを弾ける音楽アプリを構築しています。すべてが機能していますが、私が抱えている問題は、ノート (MIDI.noteOn で呼び出される) が 3 秒しか持続せず、その後途切れることです。私は次の方法を見つけようとしています: 1- メモを長持ちさせる。2- カットオフするのではなく、ノートをフェードアウトさせます。

誰かが私を正しい方向に向けることができますか? MIDI.js に関するドキュメントや議論はほとんどありません。

前もって感謝します!

編集:楽器名はacoustic_grand_pianoです

0 投票する
1 に答える
688 参照

javascript - ユーザーを Chrome フラグ ページにリンクする

Chrome Canary のネイティブな新しい Web Midi Api を利用するサイトを作成しました。Web MIDI はデフォルトでは有効になっていないため、ユーザーを chrome://flags/#enable-web-midi に誘導して、MIDI を有効にできるようにしたいと思います。

アンカー タグの使用は許可されておらず、window.open("chrome://flags") も許可されていないことがわかりました。私を正しい方向に導くことができるChromeの専門家がそこにいるかどうか疑問に思っています.
この有効化手順をユーザーにとってできるだけ簡単にしたいと考えています。

0 投票する
1 に答える
658 参照

javascript - HTML5 Web MIDI API を使用する

Web オーディオ API を使用してシンプルなシンセ Web アプリを作成しようとしています。Web MIDI API を介して MIDI キーボードで使用したいので、Chrome と Chrome Canary の両方でこれらの手順を試しましたが、常に「 navigator.getMIDIAc​​cess は関数ではありません」というエラーが表示されます。Mac OS X (10.10.2) のバージョンは Chrome では 40、Chrome Canary では 42 であり、実験的フラグが有効になっています。今のところコードは非常に単純です (これはテストです)。

エラーはどこにありますか? 参考になるかもしれませんが、私は USB で M-AUDIO Keystation88 キーボードを使用しています。この機能をサポートしているのは Chrome だけですか?

0 投票する
3 に答える
2275 参照

javascript - MIDI Javascript:ライブラリなしでjavascriptで単一のMIDIノートを生成する方法は?

Web Midi API に関するドキュメントを読んでいて、このトピックに関するさまざまな Web サイトを調べてみました。派手なライブラリなどを使わずに MIDI サウンドを再生する方法はありますか? 単一のノートを生成したいとしましょう: ローカル マシンにある MIDI モジュールにアクセスするにはどうすればよいでしょうか? 単一の音符を演奏し、要素に簡単に埋め込むことができるコードの小さなスニペットを誰かが書くことができますか?

0 投票する
0 に答える
1568 参照

javascript - Electron - Web MIDI API 経由で Sysex メッセージを送信するとレンダラーがクラッシュする

sysex (システム エクスクルーシブ) MIDI メッセージを MIDI デバイスに送信できる Electron アプリに取り組んでいますが、sysex メッセージを送信しようとするたびに、レンダラーがクラッシュします。非 sysex メッセージ (noteOn、noteOff など) を問題なくデバイスに送信できます。

ここに私がやっていることの少しがあります:

Web ブラウザー (Chrome のみ) では、安全な接続が必要であり、sysex メッセージを送信できるようにするためにユーザー許可を要求する必要があります。Electron アプリのコンテキストでこれらの条件を満たす方法が不明であるため、これら 2 つの Web MIDI sysex 要件がこのクラッシュの原因ではないかと考えています。

0 投票する
1 に答える
219 参照

midi - このサウンドフォント MIDI プレーヤーの複製から音が鳴らないのはなぜですか?

私は、このサウンドフォント ベースの midi ファイル プレーヤーの機能をそのままの JavaScript と html で複製しようとしています。

エラーはありませんが (favicon 404 エラーを除く)、MIDI ファイルの再生時に音は出ません。ただし、イベントが再生されているかのようにイベント モニターに表示され、GM プレーヤーのピアノ キーをクリックするとサウンドフォント ノートが再生されます。

リンクされたデモを実行しても問題はありません。

このプロジェクトは、直接アップロードされた .sf2 ファイルで midi ファイルを再生できるという点で前例がないようです。MIDI.js に精通している場合は、特にこれに関心があるかもしれません。

この問題の原因を教えてください。または、このプロジェクトに興味がある場合は、投稿された調査結果が役に立ちます (問題が発生していなくても)。

0 投票する
3 に答える
1090 参照

javascript - Web Midi - デバイス名の一覧表示

接続されている MIDI 入力デバイスを一覧表示する簡単なスクリプトを作成しました。これは Windows 上の Chrome では問題なく動作しますが、Mac 上の Chrome では「未定義のプロパティ名を読み取れません」というエラーが表示されて失敗します。これは、w3c.org の例からコードをコピーして貼り付けた場合にも発生します: http://www.w3.org/TR/webmidi/#listing-inputs-and-outputs

これが私のコードです:

console.log(midiAccess) は正常に動作します。ここで何が起こっているのか分かりますか?