I've been trying to "hijack" the Mac OS X system audio using PyAudio and save to a wav in python. That is, I do not want to record from an input device such as a microphone. I want to grab the sound output from any or all applications.
I have followed the tutorials on the PyAudio site but these do not appear to cover my use case and when I try to read from the output stream I unsurprisingly get the paCanNotReadFromAnOutputOnlyStream exception. Fair enough! Is there a way to do what I am proposing with the PyAudio o开发者_JAVA百科r other FOSS Python Library?
I found that an open-source project called SoundFlower got me quickly to the place I needed to be.
- I installed the SoundFlower package from Google Code.
- Opened System Preferences -> Sound
- Chose Soundflower as my Output device
- Chose Soundflower as my Input device
I was then able to record system audio from the default device using PyAudio. No sound comes from the speakers/headphones in this situation though. I wonder if you could use Jack OS X to route audio out of SoundFlower to the system audio out.
精彩评论