Ist es möglich, die Tonausgabe in macOS vom Terminal aus aufzunehmen?

941
Baz

Ich möchte das Ausgabeaudio meines Mac in einer Audiodatei mit der Befehlszeile aufnehmen, in der ich die Aufnahmedauer angeben kann.

So könnte ich beispielsweise den Befehl bitten, 10 Sekunden lang in eine Datei aufzunehmen. Wie mache ich das? Kann es mit SoX gemacht werden ? Ich bin offen für andere Methoden, einschließlich der Verwendung einer API.

2

1 Antwort auf die Frage

1
Daniel L

Sie können Soundflower verwenden, um die Audioausgabe an SoX zu leiten.

Installieren Sie Soundflower, gehen Sie zu “Systemeinstellungen> Sound” und legen Sie Soundflower (2ch) als Ausgabegerät und Eingabegerät fest. Nehmen Sie dann 10 Sekunden mit SoX auf, z. B. wie in diesem Frage- und Antwort-Thread vorgeschlagen .

Um zu Soundflower als Ausgabe- / Eingabegerät (und zurück) zu wechseln, können Sie das switchaudio-osx- Tool verwenden, das Sie über Homebrew installieren können.

Verwenden Sie die Befehle:

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

Bei Verwendung von Soundflower, SoX und switchaudio-osx sollte es möglich sein, ein Skript für den gesamten Vorgang zu schreiben, mit einem Argument für die Angabe der Länge der Aufzeichnung.