Можно ли записать вывод звука в macOS из Терминала?

842
Baz

Я хотел бы записать выходной аудиосигнал моего Mac в аудиофайл с помощью командной строки, где я могу указать продолжительность записи.

Так, например, я мог бы попросить команду записать в файл в течение 10 секунд. Как мне это сделать? Можно ли это сделать с помощью SoX ? Я открыт для других методов, включая использование API.

2

1 ответ на вопрос

1
Daniel L

Вы можете использовать Soundflower для направления выходного аудио на SoX.

Установите Soundflower, затем перейдите в «Системные настройки> Звук» и установите Soundflower (2 канала) как в качестве устройства вывода, так и устройства ввода. Затем запишите 10 секунд, используя SoX, например, как предложено в этом вопросе, и ответьте на вопрос .

Чтобы переключиться на Soundflower как устройство вывода / ввода (и обратно), вы можете использовать инструмент switchaudio-osx, который вы можете установить через Homebrew.

Используйте команды:

SwitchAudioSource -s 'Soundflower (2ch)' -t 'output' SwitchAudioSource -s 'Soundflower (2ch)' -t 'input' 

Используя Soundflower, SoX и switchaudio-osx вместе, должна быть возможность написать сценарий для всего процесса с аргументом для указания длины записи.