28

Ubuntu 10.10 x64 の Enthought Python Distribution (Python 2.6.6) で PyAudio を使用しています。

>>> import pyaudio
>>> pa = pyaudio.PyAudio()
>>> pa.get_default_input_device_info()

Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    pa.get_default_input_device_info()
  File "/usr/lib/python_epd/lib/python2.6/site-packages/pyaudio.py", line 936, in get_default_input_device_info
    device_index = pa.get_default_input_device()
IOError: No Default Input Device Available

これは、入力ストリームを開こうとしたときに表示されるエラーと同じです。対応するエラー「IOError: No Default Output Device Available」があります

4

6 に答える 6

3

オーディオI/OとシンセシスにはPYOをお勧めしますが、とても簡単に手に入れることができました。ピッチを変更するために処理した後、PYOにオーディオ入力を取得して出力させる方法を示すコードを次に示します。

from pyo import *
serv = Server(duplex=1).boot()
serv.start()
shiftfreq = 329.63
# 329.63 is the frequency for the E note
mic = Input(chnl=0)
shift = FreqShift(mic, shift=shiftfreq, mul=.5).out()
serv.gui(locals())

PYOでは、シンセサイザーやジェネレーターなどの周波数やパラメーターをその場で変更することもできます。これは、主にライブシンセサイザー楽器のプログラミングに使用しているため、私にとって最大の魅力でした。

それはまた素晴らしいマニュアルを持っています...

于 2011-07-22T16:02:30.237 に答える
3

OK、これはきれいではありませんが、私にとってはうまくいく解決策です。ulidtko の回答に対する私のコメントによると、pyaudio は問題ではなく、pyaudio がバインドされるはずの基になる PortAudio です。

ubuntu では、portaudio ドライバーは次のパッケージでインストールされます。

sudo apt-get install python-gnuradio-audio-portaudio

ストックubuntuがコードを正常に実行すると述べたので、これはすでに持っている必要があります(ただし、無視できるデバッグメッセージがいくつかあります)

portaudio モジュールの場所を照会すると、enthought の python を実行しているときに次のように表示されます。

>>> import pyaudio
>>> pyaudio.pa.__file__
'/opt/epd-7.2-2-rh5-x86_64/lib/python2.7/site-packages/_portaudio.so'

そして、在庫のubuntuでは次のとおりです。

In [1]: import pyaudio
In [2]: pyaudio.pa.__file__
Out[2]: '/usr/lib/pymodules/python2.7/_portaudio.so'

私は考え抜かれた _portaudio.so を邪魔にならないように移動し、システム _portaudio.so へのリンクに置き換えました。これで、chaco demo/advanced ディレクトリ内の素敵なスペクトル アナライザーを含むすべてが動作します。

cd /opt/epd-7.2-2-rh5-x86_64/lib/python2.7/site-packages/
mv _portaudio.so _portaudio.so.originalEPD
ln -s /usr/lib/pymodules/python2.7/_portaudio.so
于 2012-04-26T18:30:40.610 に答える
1

PyAudioは、クロスプラットフォームのオーディオI/OライブラリであるPortAudio用のPythonバインディングを提供します。

http://people.csail.mit.edu/hubert/pyaudio/

PortAudioソフトウェアをインストールしましたか?動作するために必要ですpyaudio

于 2011-01-20T14:01:50.950 に答える