Захват выхода Mac OS X System Audio с помощью Python
Я пытался "захватить" аудиосистему Mac OS X с помощью PyAudio и сохранить к wav в python. То есть, я не хочу записывать с устройства ввода, такого как микрофон. Я хочу захватить звук из любого или всех приложений.
Я следил за учебниками на сайте PyAudio, но они, похоже, не охватывают мой прецедент, и когда я пытаюсь читать из потока вывода, неудивительно получить исключение paCanNotReadFromAnOutputOnlyStream. Справедливо! Есть ли способ сделать то, что я предлагаю с помощью PyAudio или другой библиотеки Python FOSS?
Ответы
Ответ 1
Я обнаружил, что проект с открытым исходным кодом под названием SoundFlower быстро заставил меня место, в котором я должен был быть.
- Я установил пакет SoundFlower из Google Code.
- Открытые системные настройки → Звук
- Выберите Soundflower как мое устройство вывода
- Выберите Soundflower как мое устройство ввода
Затем я смог записать системный звук с устройства по умолчанию с помощью PyAudio. Однако в этой ситуации звук не поступает из динамиков/наушников. Интересно, можете ли вы использовать Jack OS X для маршрутизации аудио из SoundFlower в аудиосистему системы.
Ответ 2
Если вы хотите установить дополнительный компонент, вы можете попробовать Jack OS X, чтобы передать входные данные из исходного приложения в PyAudio.
В PyAudio вам нужно будет использовать виртуальное устройство "Jack Router", которое будет отображаться как входное аудиоустройство.
Ответ 3
Я знаю, что это старый пост, но я использовал AU Lab для направления вывода звука на гарнитуру http://macappstore.org/au-lab/