Record Sound in Python

8

Ich möchte programmtechnisch Ton von meinem Laptop in Python aufnehmen. Ich fand PyAudio und kam mit dem folgenden Programm, das die Aufgabe erfüllt:

%Vor%

Das Problem ist, ich muss die Kopfhörerbuchse an die Mikrofonbuchse anschließen. Ich habe versucht, diese Zeilen zu ersetzen:

%Vor%

mit diesen:

%Vor%

aber dann bekomme ich diesen Fehler:

  

Traceback (letzter Aufruf zuletzt):
   Datei "./test.py", Zeile 25, in
     data = stream.read (Chunk)
   Datei "/Library/Python/2.5/site-packages/pyaudio.py", Zeile 562, in gelesenem
     paCanNotReadFromAnOutputOnlyStream)
  IOError: [Errno Kein Eingabestream] -9975

Gibt es eine Möglichkeit, den PyAudio-Stream so zu instanziieren, dass er vom Computer ausgegeben wird und ich die Kopfhörerbuchse nicht an das Mikrofon anschließen muss? Gibt es einen besseren Weg, dies zu tun? Ich würde lieber mit einer Python-App bleiben und Kakao vermeiden.

    
aaronstacy 12.01.2010, 04:08
quelle

3 Antworten

5

Sie können Soundflower installieren, wodurch Sie zusätzliche Audiogeräte erstellen und Audio zwischen ihnen routen können. Auf diese Weise können Sie die Ausgabe Ihres Systems an das Soundflower-Gerät definieren und das Audio von ihm mit PyAudio lesen.

Sie können auch einen PyJack , einen Audio-Client für Jack .

    
João Moreno 05.01.2011, 10:50
quelle
0

Leider gibt es keinen narrensicheren Weg, es zu tun, aber Audio Hijack und WireTap sind die besten verfügbaren Tools dafür.

    
jspcal 12.01.2010 04:15
quelle
0

Ich kann eine Antwort geben, indem ich keinen programmatischen Weg benutze. Panel & gt; Ton & gt; Aufzeichnung & gt; & gt; Stereo-Mix möglich. Dies benötigt eine Treiberunterstützung. Ich habe auch festgestellt, dass dies mein wirkliches Echo macht. Zumindest löst das mein Problem.

    
Super Milk 14.01.2017 15:39
quelle