問題タブ [pyaudio]

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

python - Pyaudio は、オーディオ カードがサポートしていないにもかかわらず、すべてのフォーマットをサポートしています。

フォーマット (レート/デプス) がオーディオ カードでサポートされているかどうかを確認しようとしています。指定されたレートと深度に関係なく、pyaudio が True を返すことがわかりました。オーディオ カードでネイティブにサポートされているモードのみを表示するにはどうすればよいですか? これを Windows、Mac、ubuntu、fedora で再現しました。この問題の解決に役立つコードの抜粋を含めました。

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

python - unbound メソッド get_sample_size() : wav ファイルの保存時

wavファイルを保存しようとしています。data は、データ型が の numpy 配列ですint16。コードを実行すると、理解できない次のエラーが表示されます。

私のコード:

私の設定

全体像は次のとおりです。

wavファイルからデータを抽出しました。データ配列の最後に画像ビットを追加しています。データを wav 形式で保存します。

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

python - 音声ファイルを pyaudio 入力デバイスとして使用する

PyAudio を使用すると、物理的なサウンド入力デバイスからの入力ストリームを開くのは非常に簡単です。

既存のサウンド ファイルを、sound-device-stream と同じプロパティを持つストリームとして開く方法はありますか?

それ以外の

やりたい

よろしく、トルステン

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

python - easygui と pyaudio を使用して Python で GUI を実行し、同時にアラーム音を鳴らす

こんにちは、アラーム音と同時に GUI を実行し、2 番目のダイアログ ボックスで [OK] ボタンをクリックすると、アラーム音の繰り返しを停止する必要があります。このタスクを達成するために、メインファイル(easyguiを使用したgui )である2つのファイルを作成し、AudioFileクラスの魔女はpyaudioを使用してアラーム音を再生および停止します。

メインファイル:

オーディオファイル:

メインファイルを使用してこの2つのコードを実行すると、最初にアラーム音を実行し、バックグラウンドでGUIがウィンドウに表示され、2番目のウィンドウから選択肢を選択して[OK]を押すと、アラーム音が停止するはずですが、代わりに最初に私のアプリケーションがアラーム音を鳴らした後、GUI を開始します。GUI のバックグラウンドでアラーム音を再生し、2 番目の OK ボタンを押した後に閉じるにはどうすればよいですか?

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

timing - pyaudio サンプルをシステムクロックに関連付けますか?

システム クロック ( time.time()) を参照する他の信号を使用するアプリケーションがあり、オーディオ入力を記録して、他の信号と比較していつ発生したかを把握したいと考えています。

最初は、コールバック API を使用してみました。サウンド カードからデータが利用可能になったときにコールバック API が発生するだろうと考えていました。コールバックは、おおよそサンプル期間 * サンプル数の差で定期的に発生すると予想されますが、他の人が指摘したように、そうではありません。

データが最初に利用可能になったときに返されるのではないかと考えて、ブロッキング API も試しましたが、同じ問題があるようです。には adc クロックの概念もありportaudio、これはコールバック モードで提供され、おそらく必要な情報を提供する他のクロックに関連していますcurrent_timeinput_buffer_adc_timeしかし、これらの値は両方とも通常ゼロであり (マザーボードからのデフォルトのマイク入力を備えた Ubuntu 14、使用している下位レベルの API がわからない)、そのうちの 1 つがゼロ以外の場合があります。

portaudioこれが で達成できない場合は直接使用しても構わないと思っていますpyaudioが、サンプル (特定のサンプルではなく、任意のサンプル) がいつ発生したかtime.time()を 100 マイクロ秒単位 (posix エポック時間)で把握できるようにする必要があります。またはそれ以上。pyaudioから多くのオプションを隠しているようportaudioです。

また、このタイミングには 2 つの要素があることにも注意してください。あるイベントを記録し、1 時間後に別のイベントを記録すると、システム クロックによると、これら 2 つのイベントがどれだけ離れているかがわかります。私が取得するシステム時間が実際のイベントの後に一貫して1ミリ秒になるなど、おそらく短期間の遅延効果もあります。長期的な部分が機能するようになったら、その遅延を直接測定できます。

編集:この問題について説明しているこの論文を見つけました。current_timeとがこれを行うための推奨される方法の ように聞こえるinput_buffer_adc_timeので、実際にこの情報が機能する別の基になる API を使用する方法を理解する必要があるのではないでしょうか?