2010-05-21 26 views
13

Ho cercato di "dirottare" l'audio del sistema Mac OS X utilizzando PyAudio e salvarlo in un file wav in python. Cioè, non voglio registrare da un dispositivo di input come un microfono. Voglio catturare l'uscita audio da qualsiasi o tutte le applicazioni.Catturare l'uscita audio del sistema Mac OS X con Python

Ho seguito le esercitazioni sul sito PyAudio ma queste non sembrano coprire il mio caso d'uso e quando provo a leggere dal flusso di output non sorprendo l'eccezione paCanNotReadFromAnOutputOnlyStream. Giusto! C'è un modo per fare ciò che sto proponendo con PyAudio o altra libreria FOSS Python?

risposta

6

Ho scoperto che un progetto open source chiamato SoundFlower mi ha portato rapidamente nel posto che dovevo essere.

  1. Ho installato il pacchetto SoundFlower da Google Code.
  2. aperte Preferenze di Sistema -> Audio
  3. Promuovi Soundflower come il mio dispositivo di output
  4. Ha scelto Soundflower come il mio dispositivo di input

Mi è stato poi in grado di registrare l'audio sistema dal dispositivo predefinito utilizzando PyAudio. Tuttavia, in questa situazione non viene emesso alcun suono dagli altoparlanti/cuffie. Mi chiedo se è possibile utilizzare Jack OS X per instradare l'audio da SoundFlower all'uscita audio del sistema.

2

Se si desidera installare un componente aggiuntivo, è possibile provare Jack OS X per reindirizzare l'input dall'applicazione di origine a PyAudio.

In PyAudio è necessario utilizzare il dispositivo virtuale "Jack Router" che verrà visualizzato come dispositivo audio di input.