2013-05-03 25 views
10

システム音量を読み込む最も簡単な方法は何ですか?Pythonの読み込み出力音が入力されない

私は短いLEDストリップで作られたイコライザーを作成し、ArduinoまたはRaspberryPiに接続する予定です。私は、入力、マイクなどでそれを行う方法の例をたくさん見てきましたが、全体的な出力とあまり違いはありません。この時点では、プログラム固有またはシステム全体を気にすることはできません。実際に読んだときにはうれしいです。どんなアドバイスも大歓迎です。

- EDIT - How get sound input from microphone in python, and process it on the fly?に基づいて

私は、読み取り、出力/再生時には不可能であると言ってpythonでもたらされるPCM_PLAYBACKにPCM_CAPTUREを変更しました。

ループバックデバイスを作成しようとしていますが、これは再生を別のキャプチャにパイプして読んだり、これまで読んだことがありません。私はこれが行く方法だとは本当に想像することはできません。

+0

これまでに試したことに関する情報を追加してください。 – Luceos

+0

based on http://stackoverflow.com/questions/1936828/how-get-sound-input-from-microphone-in-python-and-process-it-on-the-fly私はPCM_CAPTUREをPCM_PLAYBACKに変更しましたPythonでは、出力/再生では読み込みができないと言っています。私は今、ループバックデバイスを作成しようとしています。アイデアは、再生を別のキャプチャにパイプして読んで、それを読んでいますが、これまでに何の不運もなく、この方法がきれいで清潔であるかわかりません。私はこれが行く方法だとは本当に想像することはできません。 – PvdL

+0

可能であれば、質問にコメントするのではなく、質問を更新してください。このようにして、新しい読者は問題と答えをより簡単に分析することができます。 – Luceos

答えて

0

ほとんどの種類のサウンドミキサー(ソフトウェアまたはハードウェア)は、サウンド出力を入力に再ルーティングできる必要があります。 WindowsにはStereo Mixが組み込まれていますが、Linuxにはいくつかの解決策があります(私はPulseAudioについて良いことを聞いたことがありますが、自分自身を証言することはできません - this tutorialのいくつかのステップが役に立ちます)。

これをPythonにルーティングすることができます。読んだマイクレベルを読み取る例でも同様に動作します。

+0

私の理解から、pulseaudioはalsa上のソフトウェア層であり、すべてのディストリビューションがパルスを使用するわけではありませんが、alsaを使用する必要があります。私はXBMCを使ってRasberryPiでも実行できるようにしたいので、alsaは私が考える方法です。 – PvdL

2

誰かがPythonとPulseAudioを使って正確にこれを達成しました。this blog postingを参照してください。著者は、VUメーターにこれを供給するためにシステム全体のピーク音レベルをポーリングするスクリプトを書いた。彼はまた、Bitbucket、hereでソースを利用可能にした。

私はUbuntuでテストしましたが、それは私にとっては役に立ちます(対話型のPythonセッションではなく、コマンドラインからのみです)。余分な作業には、Python(ソースのリンク)とのインタフェースのためにctypes PulseAudioラッパーをインストールし、SINK_NAMEをスクリプトの正しい値に設定することがあります。

私はブログから収集したものPulseAudioはこの仕事に非常に適していますが、もっと良い方法があるかもしれません。

+0

私はこれを見てそれをテストしましたが、うまく動作しませんでした。私のシンクの名前では、私は0しか得ません。 Ubuntuでpulseaudio prefプログラム(paman)と組み合わせたデバイスをセットアップした後、私は何かを読むことができました。奇妙なことに、これは、パーマンであっても、結合されたデバイス以外のほとんどすべてのデバイスでサウンドレベルを読み取ることができませんでした。私は別のセットアップでこれを試してみるつもりですが、私はまだ時間がありませんでした。 – PvdL

+0

PulseAudioを使いたい場合は、Pavumeterが演奏している音量を表示することが前提条件です。あなたのサウンドはPulseを介して再生され、Alsaなどには直接再生されませんか? –

+0

はい、私は何か実際に私のシステムに問題があっても(非常にうまくいくかもしれませんが)、私はこれをテストするために異なる設定で複数のシステムにアクセスすることができます – PvdL

関連する問題