raspberry que libreria developing devel python portaudio pyaudio enthought

python - que - PyAudio IOError: No hay un dispositivo de entrada predeterminado disponible



python developing (4)

PyAudio proporciona enlaces de Python para PortAudio, la biblioteca de E / S de audio multiplataforma.

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

¿Instalaste el software PortAudio? Se requiere que el pyaudio funcione.

Estoy usando PyAudio bajo la distribución de Python de Enthought (Python 2.6.6) en Ubuntu 10.10 x64.

>>> 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

Este es el mismo error que recibo si intento abrir una secuencia de entrada. Existe el error correspondiente "IOError: No hay un dispositivo de salida predeterminado disponible"


Compruebe esto https://github.com/shichao-an/soundmeter/issues/7

Todo lo que tienes que hacer es instalar ALSA: sudo apt-get install libasound-dev

luego compile portaudio (esta versión pa_stable_v190600_20161030.tgz ) http://www.portaudio.com/download.html

luego obtenga privilegios de root ( sudo su root en Ubuntu, donde plain su root no funciona).

Coloque el archivo portaudio en /usr/src y descomprímalo con tar xvfz pa_snapshot.tgz Esto generará el directorio /usr/src/portaudio .

Desciende a este directorio y ejecuta estos comandos:

./configure make make install ldconfig

El linrad configuración de linrad debe ejecutarse después de la instalación exitosa de portaudio para que Linrad sea consciente del hecho de que portaudio está disponible.

Asegúrese de obtener ALSA como sí en el archivo ./configure

Target ...................... x86_64-unknown-linux-gnu C++ bindings ................ no Debug output ................ no ALSA ........................ yes ASIHPI ...................... no OSS ......................... yes JACK ........................ no "

Instala la última versión de pyaudio ( PyAudio-0.2.11.tar.gz )


OK, aquí hay una solución que no es bonita pero funciona para mí. Según mi comentario a la respuesta de ulidtko, pyaudio no es el problema, sino el PortAudio subyacente al que se supone que pyaudio debe unirse.

En Ubuntu los controladores de portaudio se instalan con este paquete:

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

Ya debes tener esto, ya que dijiste que tu stock ubuntu ejecuta bien tu código (aunque con algunos mensajes de depuración que pueden ignorarse)

Si consulta la ubicación de su módulo de portaudio, encontrará lo siguiente cuando ejecute python de enthought:

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

y lo siguiente en stock ubuntu:

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

Dejé de lado el entendido _portaudio.so y lo reemplacé con un enlace al sistema _portaudio.so y ahora todo, incluido el encantador analizador de espectro en la demo chaco / directorio avanzado, funciona:

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


Recomendaría PYO para la E / S de audio y la síntesis, me pareció muy fácil de aprender. Aquí hay un código para ilustrar cómo obtendría PYO para obtener y emitir una entrada de audio después de procesarla para cambiar su tono:

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 también te permite cambiar las frecuencias y los parámetros de síntesis, los generadores o cualquier cosa sobre la marcha, que fue el mayor atractivo para mí porque lo uso principalmente para la programación de instrumentos de sintetizador en vivo.

También tiene un gran manual ...