プロセス優先度のチューニング

プロセス優先度の設定で音が変わる

各プロセスには優先度というのが存在しており,CPUがそれぞれのプロセスを順番に処理する際に,当該プロセスの 重要度(優先度)が高い程優先的に処理する仕様になっています。通常のプロセスは優先度が「通常」となっていますが,これを「高」や「リアルタイム」にす ることで,当該プロセスを安定して処理することが可能となります。
プロセスの優先度変更は,デバイスマネージャからプロセスタブを選択し,当該プロセスを右クリックして「優先度の設定」から変更します。

nuendoはもともと優先度「高」で動いていますが,サウンドカード用ドライバdigi96.exeの優先度は「通常」でしたので,こちらも変更して遊んでみました。組み合わせを変えるとおもしろいです。
nuendoリアルタイム+digi96リアルタイムは後方展開で解像感が非常に高いのですが,個人的にはややその点を強調しすぎる印象を持ちました。 高,リアルタイムを組み合わせて数パターン比較試聴したなかで最も好印象だったのは,nuendo高+digi96高の組み合わせでした。

どうやら,拙宅のマシンでは,ソフトウェアの優先度以上にサウンドデバイスの優先度が強烈に効果があるようです。とはいえ,効果はあるもののどれがいいのかはOSのバージョンや環境次第とも思われ,決定打が無いようにも思えます。

そこで,まずはWindowsにおけるプロセスの動作について勉強していきましょう。

プロセスについて知ろう

@IT:Windows TIPS — TIPS:起動するプログラムの優先度を変更する方法(1)
http://www.atmarkit.co.jp/fwin2k/win2ktips/112changepriority/112changepriority_01.html

特集:Windows 9x or Windows 2000? 8.Windows 2000のプロセス管理メカニズム(1)
http://www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/win2kprocess_4.html

特集:Windows 9x or Windows 2000? 9.Windows 2000のプロセス管理メカニズム(2)
http://www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/win2kprocess_5.html

PCオーディオでプロセス優先度を検討するにあたり,web上にはいくつも参考となる資料が掲載されていますが,@ITの上掲の記事は非常に参考になるので,是非ご一読ください。
ここでいうWindowsのプロセス優先度としての「リアルタイム」は,語感から受けるイメージと実際の動作が異なるとして変更が望ましいとされていることに注意して読まれるとよいでしょう。

結局,個々のPCは様々なハードウェア・ソフトウェア・OS環境で動いていますから,個別の設定(の組み合わせ)によって音質傾向がどのように変 化するのか,と言う話は,PCの設定その他かなりの情報が提示されていることを前提として,個別的な事例として紹介されているものであることに留意する必 要があると思われます。

というわけで,私と同一のPC環境であれば,同じような変化をする可能性もある程度高いといえそうですが,オーディオシステム全体の環境は絶対に同一になりえませんから,評価が変わることもあるでしょうね。
まぁ,「そんなこともあるのかなぁ」くらいで頭の片隅にとどめておくのが良いのではないかと思います。大体プロセスの優先度で音が変わって聞こえるということ自体,不思議としか言いようがないわけでして…。

【追記】
※ 上掲の記事はWindows 2000での話なのでご心配の方もいらっしゃるかもしれませんが,Windows XPもマルチタスクOSですので,プロセス優先度の仕組みはWindows 2000と同様です。Windows Vista以降は未調査ですが,基本的には変更がないと思います。あとはCPUとの兼ね合いでプロセスの振り分けが必要とされるケースもあると思いますので,それはまた別の機会に。

プロセスの優先度設定の基本的発想

拙宅のPCトラポは音楽再生時に10個のプロセスが動いています(再生用アプリを含む)。マルチスレッド式OSであるWindowsXPにおいては,プロセス優先度の高い方から順次CPUでデータを処理することになるわけですが,システム関連のプロセスは優先度の設定ができません。

そこで,基本的な発想としては,音楽再生に直結するプロセスは優先度を高くし,少なくとも音楽再生時に不要なプロセスは優先度を下げる方向でプロセスの優先度を設定することになります。
拙宅の場合,音楽再生に直結するプロセスとしては再生ソフト関連のプロセス,サウンドデバイス用のプロセスがあります。他方,音楽再生時には不要なプロセ スとしては,explore.exeがあります(もうそれくらいしか残らないくらいまでバックグラウンドサービスを削ったためw)。その他は全てシステム 関連のプロセスでして,管理者権限でもプロセス優先度の設定はできません。

既に再生ソフトのプロセス優先度の変更はしていたわけですが,explore.exeを含め,数個のプロセスの優先度を変更することができるので,いろいろ実験してみました。
プロセスを低にしても動作的には問題ないのですが,音があまりに変わるため,どの組み合わせが最適なのかはかなり難しいです。理屈の上では,とにかく音楽 再生関係のプロセスは優先させつつ不要なプロセスは優先度を最低にすべきだとは思うのですが,それが心地よいかというとまた別問題ですね。少なくとも通常 よりはそれぞれにウエイトをつける方が良いのは間違いないのですが…。意外と「低」より「通常以下」の組み合わせのほうがバランス良いケースもあるようで す。

…しかし,ここで妥協してしまってはせっかくのPCトラポがもったいない!ということで,理論的により正しかろう結論と聴感が一致するようにさら に設定を追い込んでみることにしました。プロセスの優先度,下手なアップコンバートより遙かに変化量が大きいです…。意味が分からない。もうプロセスいじってない状態では聴いていられません(笑)。

レジストリとプロセスの関係

レジストリを延々とカスタマイズすることで,nuendo(リアルタイム),その他のプロセス=低,が最も 良く感じられるように調整することが出来ました。digi96.exeは停止させちゃいました(爆)。やはり,とにかく描画に関する機能はレジストリレベ ルで停止させるべきで,こうしないとexplore.exeのプロセス実行頻度が下がらないのかもしれません。
結局あれこれいじってでた結論 は,レジストリとプロセス優先度は車の両輪のような関係で,どちらも適切に設定してやる必要があるということです。さすがにレジストリの値は皆さんがお使いのPC毎に環境も異なりますし,この場では申し上げませんが,やはり徹底的に設定を見直されることをお勧めいたします。

プロセス設定の発想

とことん音質を追求するタイプのPCトランスポートにおいては,各プロセスの優先度を変更することで聴感上音が変化するという報告がよくなされています。基本的には,再生専用プロセスの優先度を上げるというのが一般的なアプローチで,その他どうするかは割と皆さんそれぞれ流儀があるようです。
そのなかでも,OSの設定として,プロセッサスケジュールにおけるバッググラウンドサービスとプログラムとでどちらの優先度をあげるのかという問題は,決着がついているようでついていない微妙な問題だとおもいます。

さて,この点について音質的観点からこの点について初めて言及した日本語サイトはDAW-PC INFOさんではないかとおもいます。DAW-PC INFOさんは,バックグラウンドサービスを優先させるべきと唱えておいでで,バックグラウンドサービスを優先する理由としてオーディオインターフェースのドライバが安定的に動作するからと考えていらっしゃるようです。
これをうけて,ほとんどのPCオーディオ系のサイトではバックグラウンドサービスを優先させるのがよいと言及しているように思います。実際私もそのようにしておりました。ところが,ふとしたきっかけで,プログラム優先にしてみたんですね。あれ?こっちのほうがよい?困ったことに,私はプログラム優先のほうが好ましく感じるようです。なぜでしょう?

そもそも,音質評価というのは主観的なものですから,原理的に誤ったアプローチでノイズが多くて不正確になろうが,好ましければ好ましい(笑)わけで,客観的な正確性に乏しい分野である,ともいえます。ですから,私の耳が癖のある音を好むというだけの可能性もあり,簡単に「OSの設定は○○がよい」とは結論を出せないでいるところなのですが…。
しかし,こういう体験をしてしまうと,何かしらを優先度の決定の参考とすることができないものかと考えたくなります…。ただでさえ Windowsの挙動は得体が知れないところがあるので,少しでも客観性が欲しいところです。

そこで,まずはCPU使用時間をみるというのを思いつきました。CPU使用時間というのは,あるプロセスがどのくらいCPUを使ったかを示すものです。
以前より,私としては,使用時間が多いものほどプロセスの優先度を上げるべき&使用時間が少ないものほどプロセスの優先度を下げるべきではないかと推論しています(拙宅はXP Pro環境ですので,Vista以降はわかりません。全く見当外れでしたら是非ご指摘ください)。
早速これをみてみると,拙宅のマシン環境では,DAWソフトの使用時間がダントツで長く,そのほかのすべてのCPU使用時間を合計しても,全く足元にも及ばないことがわかりました。

この発想が一般的に通用するかはわかりませんが,プロセスやサービスを削った状態のOSにおいては,聴感上こちらのほうが良いようですので,現在もこの方針で調整しています。他の手法がありましたらご一報ください。

プロセス設定の試聴はこんな感じ

プロセスの比較試聴をする場合には可能な限り総当たり戦をして試聴します。当時のメモはこんな感じです。私にとってはかなり違って聞こえてしまっているというお恥ずかしい内容ですが(笑),こういう地味な作業を繰り返して記事ができあがっているんです…。

■プロセス優先度の検証 rev.2
作成日:20xx/xx/xx
改訂日:20xx/xx/xx

▼試聴環境
えるえむ宅システムによって検証。

▼組み合わせ
プロセスSとプロセスCの組み合わせで3*3で9パターンあるところ,全部音が違うので検証。explore.exeはとりあえず低固定。でないと27通りになるためw
以下,プロセスS=S,プロセスC=Cとし,通常を3,通常以下を4,低を5とする。(例)S3C5=プロセスS優先度通常かつプロセスC優先度低

▼インプレ
○S3C3
普通のバランス。基本的にexploreの優先度を下げておくのは必須かもしれない。ボーカルの立ち方がはっきりしている。抑揚というか,陰影のある音。ボーカルの解像度はかなり高い。前後感がはっきり出るので,奥行きを相対的に感じやすい。密かにかなり優秀。

(中略)

○C5系列
どれも音像の輪郭が霧のように霧散する感じで密度感だけで音像を書くタイプ。音場系の人にはうけがいいとおもわれるが,音像派にはさっぱりかもしれない。PCでこういう音がでるのかという意外性はかなりある。オフ会でびっくりさせるのには良いかも。音量が小さいと全体にぼけてしまってだめなので,小音量再生時に威力を発揮する。ケーブルでたとえると,DREAM チタンプラグの音。

(中略)

○S5系列
フォーカスが非常に良いのにタッチがきつくないので,PCトラポとしてはこちらが正解な気がする。リファレンス的に使える感じ。Cの優先度によってどこまで締めるか調整できる。ただ,ちょっと意外性に欠けるというか,予想の範疇の音ではある。ケーブルでたとえると,DREAM カーボンプラグの音。

(中略)

○S4C4
S5C4と比べると若干音像の輪郭はぼけるが,何とも言えない上品な音。響きの消え方が非常に印象的。弦楽器のタッチがニュアンス豊か。GOLDMUNDの品格だけ残したような(笑),高貴な音作り。奥行き感がきっちり出ているわりに,ボーカル音像はある程度捉えられる。大音量時には付帯音的な響きがやや多すぎるように感じられる曲もある。アコースティック系録音向き。

▼結論
○傾向
ざっくりと言ってしまうと,それぞれ,優先度が低い程フォーカスが合う,音が締まる,遊びが無くなる。プロセスSは音像からのアプローチ,プロセスCは音場からのアプローチだと思えばよい。ただし,優先度がそれぞれ2段階以上異なると極端にバランスを欠く状態になる。SとCが等価なものが安定して良い傾向にある。

○どれを採用するか?
普通さのS3C3,品格のS4C4,丁寧な描写のS5C5。ちょっと捻ってS5C4という手もある。個人的には,小音量時にはS4C4,普通に聴くならS5C5かS3C3。気分によってかなり音が変えられるのは楽しい。アップサンプリングよりよっぽど強烈な変化が楽しめる。