前回、仮想オーディオのBlackHoleとQuickTimeを使うことで、AppleシリコンMacでも音声の録音ができるようになりました。
次は、これを自動化させたいということで、指定時刻で録音の開始と終了を行えるようにしました。応用すればタイマー的な使い方もできるので、例えば「30分だけ録音したい」という事もできます。
Audio Hijackなどの有料アプリを使わずに無料でやる方法としては、一番簡単な方法となります。
使用するのは、Apple ScriptとmacOS標準のカレンダーアプリ。
セットアップの手順は、まず録音の開始と終了をApple Scriptで作ったアプリで実行できるようにして、カレンダーでイベントを作成。指定時刻が来たら、そのアプリを開くようにします。
Apple ScriptでQuickTimeの自動処理
スクリプトエディタ.appを起動。
以下のスクリプトをコピペして、再生アイコンで実行テストします。
録音開始
tell application "QuickTime Player"
activate
new audio recording
start document 1
end tell
録音終了
tell application "QuickTime Player"
stop document 1
close document 1
end tell
問題が無ければ、ファイル > 書き出す。
ファイルフォーマットを「アプリケーション」として書き出します。
アプリケーションの初回実行時は許可が必要なので、まず動作テストを行ってみましょう。
カレンダーで開始時刻を設定する
あとは、カレンダーにイベントを追加して、その時刻にスクリプトを開きます。
1つのイベントを作れば、時刻を変更していくだけで使い回せますし、時刻の変更はiPhoneからも行えます。かなりお手軽。
- カレンダーにイベントを追加
- 開始時刻を設定
- 通知をカスタム
- ファイルを開く > その他 で先程のスクリプトを選択
- イベントの開始時刻に設定
試しに、指定した時刻に録音スクリプトが正常に実行されるかチェック。
無事動作しました。「収録を終了中」というポップアップが出続けるのがちょっと気になるくらいで、録音はちゃんとできているみたいだし、まあいいか。
カレンダーを使った簡単な自動化としては、なかなか実用的です。