VinylStudioやAudacity等のアプリで収録中にmacbookの画面を閉じたり、ディスプレイがオフしてスリープ状態になると、アプリが休止して録音エラーになり録音のやり直しが必要になってしまうことが多々あります。 実はVinylStudioアプリで「NHKらじる★らじる」聴き逃し番組(50分)の収録中にスリープしてしまい、泣く泣くもう一度やり直したことがありました。
録音の度にスリープ設定(プロセスを継続)するのは面倒でスリープ設定を忘れることもあり得ます。 そこで、録音アプリが起動している間は、自動的にスリープを禁止させて、アプリを終了したら元のスリープに戻るショートカット(又はAutomatorでも可)を作成してみました。
このショートカットは録音アプリに限らず、他のアプリにも応用出来ますので参考にしてください。
スリープすると録音が失敗する原因
筆者の録音環境で説明します。
レコードのハイレゾ化や「ラジオ番組」の録音は、VinylStudioアプリを使って、外付けHDDに収録しています。(「NHKらじる★らじる」や「Radiko」等のラジオ収録は、M1-MAC対応の仮想オーディオ・ドライバ「BlackHole」を使っています。 詳しくは、ここをクリック」)
スリープすると録音が失敗する原因は、スリープすると外部HDDへの給電が止まることや、VinylStudioアプリの録音プロセスが停止することが考えられます。
対策としては、VinylStudioアプリが起動するタイミングでスリープを禁止し、収録が終わり、VinylStudioアプリを終了したら、スリープを元に戻せば良いと考えられます。
VinylStudioの良いところは、「レコードの最内周でカートリッジがリフトアップして無音になったり、ラジオ番組が終了して無音が例えば30秒続くと自動的に録音を停止」する点です。
スリープを禁止又は解除するコマンドについて
スリープを禁止
ターミナルを起動して、以下のコマンドを打ち込んで見てください。 sudoコマンドですので、パスワードを求められます。(ターミナルでパスワードを入力する際、画面には何も表示されません。間違ったパスワードを入力したり、パスワードを何も入力しなかった場合は、コマンドは実行されず、もう一度やり直すように案内されます。)
command sudo pmset -a disablesleep 1
このコマンドを実行すると、 スリープが禁止状態になっているので、画面左上のアップルマークをクリックしてアップルメニューを開くと「スリープ」がグレー表示になっていることで確認できます。
このスリープ禁止状態で、パソコンから適当な音楽を再生して見てください。 この時にMacBookの画面を閉じても、実行プロセスが継続しているので、音楽は再生し続けていると思います。
スリープ禁止の解除
ターミナルで、以下のコマンドを打ち込んで見てください。 sudoコマンドですので、パスワードを求められます。
command sudo pmset -a disablesleep 0
このコマンドを実行すると、通常の状態に戻り、アップルメニューの「スリープ」が元の表示になっており、このスリープをクリックすれば一発で画面がクローズします。
この状態で、パソコンから適当な音楽を再生して見てください。 この時にMacBookの画面を閉じれば実行プロセスが停止して音楽は止まります。
スリープをコントロールできるアプリ
「Amphetamine」と言うアプリが、Appストアーから入手できます。 このアプリで、特定のアプリ(VinylStudio)に対してスリープを禁止できるか?期待しましたが、残念ながらNGでしたので、以下のショートカットを作成することにしました。
アクションとショートカットの作成
新規ショートカットの作成方法については、Apple公式サイトで参照ください。 ここでは、「ショートカットエディタ」にスリープさせるためのアクションを配置したところから説明します。
ショートカットの名前を「VinylStudio sleep cont」にしました。(後から変更可です)
「ショートカットエディタ」にアクションを配置
①〜④ のアクション説明
① アラート:アクション
このアラートアクションが実行されると、警告ダイアログ表示されます。 アクションに記述された青文字内容が警告ダイアログに表示され注意を促します。
② シェルスクリプトを実行
このアクションは以下のターミナルコマンドを実行します。
command osascript -e 'do shell script "sudo pmset -a disablesleep 1" with administrator privileges' open -W -a VinylStudio
1行目のコード:
osascriptコマンドを使って、Applscriptで管理者パスワードを促すダイアログを表示させ、認証が成功したらスリープを禁止するコマンドを実行します。 指紋認証でもOKです。2行目のコード:
openコマンドで -a オプションでアプリのVinylStudioを起動し、-W オプションで終了するまでこのアクションをウェイティングします。 アプリが終了すると次のアクションへ移行します。③ アラート:アクション
① アラートと同じですが、「キャンセルボタンを表示」のレ点を外しています。 これで、OKボタンしかダイアログに表示されません。
④ シェルスクリプトを実行
スリープを元に戻すコマンドを実行します。 コードは、osascriptコマンドを使って、Applscriptで管理者パスワードを促すダイアログを表示させ認証が成功したら、スリープを解除するコマンドを実行します。 指紋認証でもOKです。 (注意:ダイアログでキャンセルを選択するとコマンド未実行エラーで終了します。)
command osascript -e 'do shell script "sudo pmset -a disablesleep 0" with administrator privileges'
ショートカットの完成
このショートカットをアプリ化できます。 詳細は、下のブログ記事を参照ください
-
Automatorで作成したワークフローを「ショートカット」アプリに変換する(インポートから実行ファイル化までまで)
macOSがMonteteryになりショートカットアプリが導入されました。 ゆくゆくはAutomatorが終了してショートカットアプリに統合されるようです。 そこで、今までAutomatorで作成した ...