Forum: PC-Programmierung [Python3] pyaudio Fragen


von Bernd W. (berndwiebus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo

Ich habe mir ein kleines Testskript "pyaudiotest-3.py" geschrieben, mit 
dem ich das Abspielen eines WAV-Files erreiche. Dazu gehört auch die 
Datei "siren.wav" . Der Dateiname ist im Skript der Einfachheit halber 
direkt hineingeschrieben worden, daher sollte sich "siren.wav" im 
gleichen Ordner wie "pyaudiotest-3.py" befinden.

Betriebsssem ist Linux Debian "Jessie". "python3-pyaudio" 0.2.8-1+b2 ist 
installiert.

Starte ich "pyaudiotest-3.py" aus idle3 heraus, wird das File ohne 
nennenswrte Vorkommnisse abgedudelt, und das Skript beendet.

Starte ich es aber über eine Shell mit "python3 pyaudiotest-3.py", so 
erhalte ich ersteinmal einen Schwung Fehlermeldungen, dann wird das File 
abgespielt, und anschliessend das Skript beendet.

Die Fehlermeldungen sind:

<code>

wiebus@wiebus-IIb:~/python3/pyaudiotest$ python3 pyaudiotest-3.py
ALSA lib pcm_dsnoop.c:614:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM 
cards.pcm.center_lfe
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, 
skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, 
skipping unlock
wiebus@wiebus-IIb:~/python3/pyaudiotest$

</code>

Warum werden diese bei idle3 nicht durchgereicht?
Wass muss ich anstellen, um diese Fehlermeldungen überhaupt los zu 
werden? Offensichtlich geht es um "Luxus", weil abgespielt wird das File 
ja doch.

Die angesprochenen Files "pyaudiotest-3.py" und "siren.wav" finden sich 
im Anhang "pyaudiotest.zip"

Mit feundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

P.S. : Ich sehe gerade, zu Python 2 und pyaudio gibt es eine 
Dokumentation im Repository. Die werde ich heute Abend ziehen und lesen, 
in der hoffnung, das ich von Python2 genau genug auf Python3 raten kann.

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

Bernd W. schrieb:
> Wass muss ich anstellen, um diese Fehlermeldungen überhaupt los zu
> werden?

Diese Meldungen werden von PortAudio erzeugt, während es versucht, alle 
möglichen PCM-Geräte zu finden.
Von Python aus kann man das nicht ändern.

von Tom (Gast)


Lesenswert?

Die Ausgabe kommt nicht aus Python, sondern aus einer tieferen Schicht 
und läuft auch nicht über stderr von Python. Andere Programme wie 
Audacity geben den gleichen Mist aus, wenn man sie aus der Konsole 
startet.

Man kann furchtbar aufwändig herumfummeln und Errorhandler 
unterschieben, das hat bei mir nur halb funktioniert:

http://blog.yjl.im/2012/11/pyaudio-portaudio-and-alsa-messages.html

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Clemens und Tom.

Danke für Eure Antworten.

Clemens L. schrieb:

>> Wass muss ich anstellen, um diese Fehlermeldungen überhaupt los zu
>> werden?
> Diese Meldungen werden von PortAudio erzeugt, während es versucht, alle
> möglichen PCM-Geräte zu finden.
> Von Python aus kann man das nicht ändern.


Tom schrieb:
> Die Ausgabe kommt nicht aus Python, sondern aus einer tieferen Schicht
> und läuft auch nicht über stderr von Python. Andere Programme wie
> Audacity geben den gleichen Mist aus, wenn man sie aus der Konsole
> startet.
> Man kann furchtbar aufwändig herumfummeln und Errorhandler
> unterschieben, das hat bei mir nur halb funktioniert:
>
> http://blog.yjl.im/2012/11/pyaudio-portaudio-and-alsa-messages.html

Ah, ok. Ich sollte das ganze also weniger als Fehlermeldung sondern als 
Statusmeldung sehen. Gut zu wissen. Da sie nur bei Start aus der Konsole 
heraus auffällig sind, kann ich sie wohl meistens guten Gewissens 
ignorieren.


Vielen Dank für die Info. Guten Rutsch!

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.