最小のプロセッサの状態を任意ソフト起動と同時に変更しソフト終了時に元に戻すバッチファイル作った

  • タグ:#ツール

  • DAW 起動中のみプロセッサの電源管理の最小プロセッサを 50% に設定したい場合はありませんか?

    私はあります。

    そんな酔狂なことしたいのには理由がありまして、普段は REAPER で SOUND Canvas VA にマスター代わりに VST 少々さして耳コピ MIDI 作ったりスケッチ作ったりしてます。 その際 MIDI も REAPER で作るなら何も問題はないんですが…

    この手の音源使って MIDI 作る場合は、大人しく Domino 使ったほうがいい

    ので、 そうなると必然的に DAW はバックグラウンドで起動されることになります。 俺環なのかもしれませんがこれがどうもいけないらしく、 MIDI 打ち込み中にプチプチ、再生中もプチプチとノイズが入ってしまいます。

    以前はなったりならなかったりとマチマチだったので放置してましたが、必ず発生するようになってしまい流石に対処開始。

    プロセス優先度バックグラウンドにしたりとかオーディオインターフェイスのバッファとか、色々弄った結果電源プロファイルを高パフォーマンスにしてみたら解決。 普段はバランスに設定しているので、もしやと思って最小のプロセッサを50%くらいまで上げるとノイズは止まりました。 他の方法で止まらないか色々試してもこれ以外では治らず、最低クロックを上げるしかないという結論に。

    ぶっちゃけ誤差程度なんでしょうが、電力的に最小プロセッサを常時50%にするのは避けたかったので、その辺自動的にいい感じに設定できるものだれか作ってないかなーと思って調べたんですけど、

    調べても出てこなかったので作りました。 0001

    見れば分かる通りただのバッチファイルです。正直言って作ったって程のものでもないし、すぐ使い方分かるとは思うんですが一応説明を。

    ただし OS 設定を弄っているので自己責任で使用して下さい。

    何度かテストして普通に動いているので滅多なことは起こらないとは思いますが一応…


    How to Use

    zipで置いとくんでとりあえず落として下さい。

    download

    中にあるmpsac.batを適当なところに解凍し、下記の黄色で塗ってある部分のみを書き換えます。

    0002

    書き換え内容は以下の通りです。

    • your_exe_pass -> 実行したいプログラムのフルパス
    • your_process -> 実行したいプログラムの名前(.exe まで記載)
    • boost_value -> プログラム実行中の最小プロセッサの値(パーセントは省く)
    • default_value -> 普段使用している最小プロセッサの値(同上)
    • loop_interval -> プログラムの実行是非監視間隔(秒単位のみ、最短1秒)

    書き換えたらこの .bat を直接起動するなり、ショトカにしてアイコン変えるなり好きに弄りましょう。 ショトカにするなら引数もショトカで指定すれば1ファイルで使いまわせるだろとか、普通に最小化状態で起動できるからバッチ内容の最初のほう意味ないじゃんとか言わない

    バッチ起動状態で電源プランの詳細設定を開いて、最小のプロセッサの状態が書き換えた数値に変わっていれば無事に適用できています。


    注意点

    • 多分管理者権限が必要
      • 使ってる PC にそもそも管理者アカウントしかないから未確認ですが、 OS 設定弄るから多分いります。
    • cmd.exe を直接閉じると最小プロセッサの数値が高いままになる
      • ソフトのプロセス終了したら cmd も閉じる設定になってるんで手動で閉じないでください。
      • 誤って終了した場合はもう一度 bat 起動してからソフト閉じるか、手動で電源設定弄ってください。
    • ストアアプリはこのままだと無理かもしれない
      • 各自「ストアアプリ コマンドライン」とかで調べていい感じにしてください。
    • 同一名のプロセスが複数存在する場合は恐らく機能しない
      • your_process で設定したソフトが現在起動中のプロセスにあるか監視して判断しているので多分無理。

    あとがき

    タスクスケジューラーで完全自動化もできるみたいですが、調べるのが面倒なのと個人的に他の用途が思いつかなかったので、一個だけ設定できればいいやと思いこの方法をとりました。 DAW 起動するたびにいちいち設定開きたくないから色々調べて作りましたが、需要あるんですかねこれ。 そもそも DAW 起動してわざわざ外部MIDIシーケンサー起動してる奇特な人間が他にいるのかどうか…

    私の場合動画に DAW の音のっけるために Voixemeeter Banana の ASIO を介して使ってるのもプチノイズの原因のようです。 それでも最小プロセッサ上げるだけでノイズは消えるし、オーディオ IF の ASIO 直でもプチノイズは発生するので、少なくとも今回のことは私にとって意味はありました。

    …ただ、

    音ブツ切りにする前ちゃんと CPU 使ってくれ。

    ゲーム軽すぎるとGPUサボってカクつくとかいうアレと一緒か…?