Macの出力オーディオをコマンドラインを使用してオーディオファイルに録音したいのですが、ここで録音する時間の長さを指定できます。
たとえば、コマンドに10秒間ファイルに記録するように要求する場合があります。どうすればよいですか? SoX を使用して実行できますか? APIの使用など、他の方法も利用できます。
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を一緒に使用すると、録音の長さを指定するための引数を使用して、プロセス全体を実行するスクリプトを作成できるはずです。