web-dev-qa-db-ja.com

ターミナルからmacOSに音声の出力を記録することは可能ですか?

Macの出力オーディオをコマンドラインを使用してオーディオファイルに録音したいのですが、ここで録音する時間の長さを指定できます。

たとえば、コマンドに10秒間ファイルに記録するように要求する場合があります。どうすればよいですか? SoX を使用して実行できますか? APIの使用など、他の方法も利用できます。

3
Baz

Soundflower を使用して、出力オーディオをSoXに送信できます。

Soundflowerをインストールし、「システム環境設定>サウンド」に移動し、Soundflower(2ch)を出力デバイスと入力デバイスの両方として設定します。次に、SoXを使用して10秒を記録します。 この質問と回答のスレッド で提案されているように。

出力/入力デバイスとして(およびその逆に)Soundflowerに切り替えるには、Homebrew経由でインストールできる switchaudio-osx ツールを使用できます。

次のコマンドを使用します。

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

Soundflower、SoX、およびswitchaudio-osxを一緒に使用すると、録音の長さを指定するための引数を使用して、プロセス全体を実行するスクリプトを作成できるはずです。

1
Daniel L