問題タブ [pyportmidi]

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 に答える
243 参照

python - 遅延を追加しない限り、pyportmidi で大量のデータを送信すると機能しなくなります

pyportmidi を使用して Novation Launchpad と通信しようとしています。指示を送信し続けるmidiOut.WriteShort()と、最初の 100 程度が処理され、残りが失われることに気付きました。

どこかにいっぱいになりつつあるバッファがあり、いっぱいになると命令が失われると思います。各メッセージの後に time.sleep(.1) を追加することで問題を回避できますが、これにより明らかに動作が非常に遅くなります。バッファがいっぱいかどうかをテストし、必要な場合にのみスリープする方法はありますか? または、さらにデータを送信する前にバッファが空になるのを待つ方法はありますか?

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

python - portmidi / pyportmidi で MIDI デバイスが接続されている USB ポートを見つけることは可能ですか?

複数の同一の USB-MIDI デバイスを接続し、Python と pyportmidi を使用してそれらと通信しています。Linux でコードを実行すると、デバイスの MIDI ポートが異なる順序で列挙されることがあるため、間違ったデバイスにメッセージを送信することに気付きました。デバイスには一意の識別子がないため、接続されている USB ポートで識別する必要があると言われました。

この情報を取得する方法はありますか? 私のアプリは Linux で動作しますが、Mac OS のサポートは開発に役立ちます。

通常、適切な順序で列挙されるため、面倒です。ハブの最初のデバイスは portmidi の最初のデバイスですが、そうでない場合もあります。通常、最初の 2 つのデバイスが切り替えられます。デバイスを修理するには、プラグを抜かずにデバイスを物理的に移動する必要があります。

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

python - pyPortMidi を Win7-64 で動作させる方法はありますか?

OSX、win32、および win64 用に構築したアプリケーションに pyPortMidi を使用しようとしています。OSX と win32 で動作するようになりましたが、win64 で動作させるのに苦労しています。

pyPortMidi は、PortMidi という名前の C ライブラリのラッパーであり、バージョン 0.7 としてPortMidi ソース ダウンロードで、バージョン 0.9 としてJohn Harrison のサイトから入手できます。同じ障害モードで両方のバージョンを試しました。

最初に、X64 を対象とした MSVC++ 2008 Express を使用して PortMidi をビルドしました。付属のテスト プログラムは動作し、midi ポートと通信できるので、PortMidi ビルドは問題ないと思います。

次に、pyPortMidi をビルドしました。バージョン 0.7 では、インクルード ファイル (../win32 から ../pm_common に移動) の適切な場所を考慮して、setup.py ファイルを少し変更する必要があり、エラーなしでビルドされました。バージョン 0.7 は cython を使用して _pyportmidi.c をビルドしますが、バージョン 0.9 は pyrex を使用して同じことを行います。それを機能させるには、easy_install を使用してインストールされたバージョンの pyrex を使用する必要がありました。また、エラーなしでビルドされました。

ライブラリを Python にインポートすることはできますが、最初の呼び出しを行うとすぐに Python がクラッシュします。

X64でpyPortMidiを実行した人はいますか? この問題をデバッグする方法について何か提案はありますか?

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

c - MIDIシーケンスをファイルに書き込む

PortMidiライブラリを使用して短いランダムな楽曲を生成するCで記述されたコンソールプログラムがあります。最終的には、これらのシーケンスをmidiファイルまたはオーディオファイルとして記述したいと思います。

portmidiライブラリ内の関数の読み取りと書き込みに関するいくつかの説明を見つけました:Pm_read()、、Pm_write(); しかし、例がなければ、私はこれを理解して実装するのに苦労しています。

とにかく、シーケンス全体を一度にエクスポートできますか?

そうでない場合は、バッファーに再帰的に読み込んで、個々のMIDIノートを保存する必要がありますか?または、シーケンス全体をバッファに読み込んで保存する必要がありますか?

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

python - コントロールチェンジメッセージを送信しようとすると、無効な MIDI メッセージデータが表示される

私は pygame.midi ライブラリを使用して MIDI メッセージ (ノートではなく、コントロール チェンジ メッセージ) を送信しています。アイデアは、出力 (この python プログラムから) から別のプログラムの入力に送信することです。

ご覧のとおり、0x74,124,0 を送信しています。これらの数値は、rakarrack (制御したいアプリケーション) 実装チャートから取得しています: http://rakarrack.sourceforge.net/midiic.html

私は何を間違っていますか?

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

python - 非標準ライブラリを使用してエラー コードなしでフリーズする

私は、インポートして使用できる Python モジュールを備えた Novation Launchpad と呼ばれる MIDI コントローラーを使用していくつかの作業を行っています。

私のコードは行でスタックし続けますLP = launchpad.Launchpad()。だからここに私がデバッグしようとした方法があります:

プログラムが印刷されないI've workedため、Launchpad インスタンスの作成に問題があることがわかります。

友人のラップトップを使用しても問題はありませんでした。私はそれが機能している、または機能していないという断続的な問題を抱えていて、どこから探し始めればいいのかさえ本当にわかりません!