Pyaudio "Недопустимое устройство ввода (нет устройства вывода по умолчанию)" в экземпляре AWS EC2 - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь использовать pyaudio с Python 3 на экземпляре ECS AWS, работающем под управлением «Amazon Linux 2 AMI 2.0.20190618 x86_64 HVM gp2» или Ubuntu (одинаковый результат для обоих).

Я начал с получения версии Anaconda для Python 3 и установил pyaudio с conda. Тем не менее, когда я на самом деле пытаюсь использовать pyaudio, нет доступных устройств. То же самое, если я пытаюсь установить с помощью pip (для этого сначала нужно установить gcc, затем собрать и установить PortAudio из исходников, а затем только из pyaudio).

import pyaudio
pa = pyaudio.PyAudio()
pa.get_device_count()
>> 0

Я запустил это в оболочке Python, которую я запустил после загрузки экземпляра со своей машины, а также в записной книжке Jupyter, на которой я работаю на экземпляре и обращаюсь к ней из моего браузера. Конечная цель - сделать аудиозапись доступной в этой записной книжке. При попытке использовать pa.open(...) ошибка:

...
~/anaconda3/lib/python3.7/site-packages/pyaudio.py in __init__(self, PA_manager, rate, channels, format, input, output, input_device_index, output_device_index, frames_per_buffer, start, input_host_api_specific_stream_info, output_host_api_specific_stream_info, stream_callback)
    439 
    440         # calling pa.open returns a stream object
--> 441         self._stream = pa.open(**arguments)
    442 
    443         self._input_latency = self._stream.inputLatency

OSError: [Errno -9996] Invalid input device (no default output device)

1 Ответ

0 голосов
/ 04 июля 2019

Одной из возможностей является то, что в машине нет звуковой карты

aplay --list-devices  #  list recognized audio hardware

aplay - утилита portaudio ... для установки проблемы

sudo apt-get install pulseaudio-utils

показать используемые аудио драйверы

sudo /sbin/lsmod | grep snd

Если аудиооборудование существует, установка аудио драйвера зависит от ОС ... Какую ОС вы используете?

Установите пакет pulseaudio и запустите его над aplay, чтобы увидеть, есть ли в нем какие-либо звуковые карты

У вас есть два неизвестных - есть ли на оборудовании сервера звуковая карта ... если да, то установите аудио драйверы, а если нет, то возникает вопрос, возможно ли использовать pyaudio на сервере без звуковой карты

...