問題タブ [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 投票する
5 に答える
16937 参照

iphone - iPhoneでMIDIを再生するには?

私の知る限り、iPhone で MIDI を再生できるネイティブまたはサードパーティのライブラリはありません。しかし、まさにそれを行うアプリがかなりあるようです。彼らは何を使用していますか?手がかりはありますか?

0 投票する
2 に答える
5006 参照

c++ - C++ MIDI ファイル読み込みライブラリ

MIDIファイルを内部データ形式に読み込み、それを使用して3Dシミュレートされた楽器を制御するソフトウェアを作成しようとしています。私の最大の問題は、ファイルから MIDI データを読み取ることであり、すべてのインポート コードを記述することは避けたいと考えています。

無料の (できればオープン ソースの) クロスプラットフォームの MIDI ファイル読み取りライブラリを知っている人はいますか? どのような機能がありますか? 他の音符ベースの音楽フォーマットをインポートできますか?

0 投票する
2 に答える
1410 参照

java - 127を超えるバイトをJavaSoundのSysexMessageに送信する際の問題

JavaSound APIを使用して、MIDIシステムエクスクルーシブ(Sysex)メッセージを外部MIDIデバイス(電子キーボード)に送信しています。ヤマハのマニュアルによると、キーの1つを点灯させるために送信するデータは、次の一連のバイトです:F0 43 7F 00 00 03 0041F7。

SysexMessageのJavaDocによると、メッセージのデータを送信する正しい方法は。を使用することsetMessage(int status, byte[] data, int length)です。この場合、F0(または10進数で240)がステータスであり、その他すべてがデータです。これには、Sysexメッセージの終わりを示す最後のF7(10進数で247)が含まれます。

問題は、Javaのバイトが-128..127の範囲に制限されているため、F7をバイト配列で送信できないことです。しかし、JavaDoc for SysexMessageはこの事実に気づいていないようで、「このメッセージにメッセージのシステム専用データがすべて含まれている場合は、ステータスバイト0xF7で終了する必要があります」と述べています。

その最後のバイトを正しく送信する方法についての提案はありますか?SysexMessageのJavaDocを誤って解釈していますか?

0 投票する
2 に答える
1058 参照

audio - Windows用のMIDIをプログラムするための最良の方法は何ですか?

外部デバイスから入力を受け取り、MIDI信号をMIDI互換ソフトウェアに送信する小さなプログラムを作成しようとしています。MIDIの観点から、これを実行するための最良の方法は何ですか?調べなければならない特定のライブラリはありますか?

ありがとう。

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

android - Androidでの動的Midi生成と再生:可能ですか?

不思議なことに、AndroidではMidiがサポートされていません。近づくのはJetplayerだけですが、これは既存の.jetファイルのみを取ります。

一定の間隔でMIDIファイルを動的に生成して再生したいと思います。トーンのある.jetファイルを手動で作成し、それをジェットプレーヤーでトランスポーズすることも考えましたが、トランスポーズは-12、+12に制限されています。これは私にはあまり良くありません。

AndroidにはToneGeneratorもありますが、トランスポーズする方法がなく、事前定義されたトーンに制限されています。

誰かがAndroidでmidiの生成と再生を実現する方法を知っていますか?

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

windows - Windows の "Midi Mapper" はどうなりましたか?

私は何年も前に Windows プログラムを作成しました。このプログラムは、ノートを「midi マッパー」に送信して音楽を作成しました (そして、そこからサウンドカードの midi-synth に送信しました)。

今日、私はMIDI情報を受け入れるとされるソフトシンセを持っているので、今日のミディマッパーに相当するものを使用して、プログラムからソフトシンセにMIDI出力をルーティングできるはずだと思います。

Windowsには明らかにミディマッパーアプリケーションはありませんが、私のプログラムは(XP上で)組み込みのサウンドカードシンセを駆動するという点で引き続き動作するため、Windowsにはある種のMIDI処理レイヤーが必要です。どうすればこれにたどり着くことができますか?そして、おそらくミディをソフトシンセにリダイレクトしますか?

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

java - MidiSystem.getSequencer() は Audio Device Unavailable を返します

何度も何度も例外がスローされ続けています。新しいシーケンサ オブジェクトを作成しようとすると、javax.sound.midi.MidiUnavailableException: Audio Device Unavailable 例外が発生し続けます。コードは次のとおりです。

そして、これが完全なエラーです(コンパイル時):

最初は PC で MIDI ファイルを再生できませんでしたが、その後動作するようになったので、MIDI ファイルを再生できるようになりました。サウンドカードを使用するすべてのプロセスを閉じようとしましたが、エラーはまだ残っています。誰でも私を助けることができますか?

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

c# - midiInGetDevCaps Midi デバイス名

このリンクから次のコードを使用しました。

C# で MIDI ポートから信号を取得する

デバイス名のリストを取得できるようにするには、何を追加する必要があるのか​​ 疑問に思っています。MSDN Web サイトを調べたところ、実装する必要があることがわかりmidiInGetDevCaps、関連する構造体が見つかりました。しかし、以前は dll のインポートと構造体で実際に何もしたことがないので、少し迷っています。

0 投票する
4 に答える
6231 参照

java - javax.sound.midi 以外の Java での単純なフリー MIDI 実装: ありますか?

問題は、Android が を実装していないことjavax.sound.midiです。

シンプルな 1 トラックの MIDI ファイルを作成できるシンプルな無料のライブラリが必要です。ネットで検索しましたが、すべてが javax.sound.midi を使用しているため、実際には何も見つかりません。

ライセンスは、リンクされたアプリをオープンソース化する必要がないライセンスである必要があります。

何か案は?

ファイル形式自体も調べました。ただし、バイトや16進数などの操作にはまったく慣れていません。

したがって、他のオプションは次のとおりです。参照として使用できる単純な midi 実装はありますか?

0 投票する
5 に答える
6682 参照

javascript - JavaScriptでMIDIを生成する

javascript で一連の MIDI ノートを生成して再生したいと思います。多くのプラグインが MIDI をサポートしていますが、サポートされている "data:" URL は知りません。MIDI コンテンツを生成することは大したことではありませんが、このコンテンツをプレーヤーにフィードすることは重要です。誰でもこれを行う方法を知っています-一般的ではないにしても、少なくともQuickTimeのような特定のプラグインについては?