Monday, March 30, 2009

サンプルレート問題(分散処理)

前回に続いて、サンプルレートを92KHzにした場合の雑音+エラーの
問題解決に向けての試み第2弾です

実は、自宅に Mac が複数台あるので、Logic Pro が提供する
「分散オーディオ処理」試してみることにしました。

■分散オーディオ処理

まさにCPUを酷使する ソフトウェア音源のSculpture や デジタルリバーブの
Space Designer 等のために、他の Mac の CPU を拝借して、今回私が経験
したようなCPUのオーバーロードを解決するというもののようです。

これは期待できます!

■システム要件

Logic Pro が動いているマシンをプライマリと呼んで、CPUを貸す側のマシンを
ノードマシンと呼ぶそうです。

1.プライマリとノードマシン双方がギガビットイーサのポートを持っていて、
  ギガビットの通信が行える環境であることが必要です。
  最近のAppleのマシンはギガビットが標準ですし、ルータで使っている
  Time Capsule もギガビット対応なので私の環境ではOKです。

2.ノードマシンはG5かIntelベースのプロセッサを使用していること。
  今回は、Mac book/2.0GHz Intel Core 2 Duo を使いますので、
  これもOKです。

■ノードマシンの設定

Logic Pro のインストールDVDに「Logic Pro Node」が含まれている
とのことですが、私の場合、Logic Studio がインストールされている
プライマリマシンのアプリケーションフォルダのなかのユーティリティ
フォルダに最新の「Logic Pro Node」のインストーラあったので、それを
使いました。


このインストーラをノードマシンにコピーして、通常のアプリケーションと
同様にインストールします。

そして「Logic Node Pro」をダブルクリックで起動・・・で終わり
みたいです・・・簡単で拍子抜けですが。

■プライマリマシンの設定

アレンジウィンドウのツールバーの環境設定をクリックして「オーディオ」
を選択し、さらに「ノード」タブをクリックします。


ノードマシン名がちゃんと表示されていますね。
ネットワークでつながっていて、ノードマシンの「Logic Pro Node」
が起動していれば問題なく表示されるようです。
ただ、OS X のソフトウェアファイアウォールは無効にする必要が
あるので、この点は要注意です。

ここで、上の図のように「Logic Nodes を有効にする」と、該当の
マシンにチェックを入れれば基本的な設定が完了です。

■トラックの設定

最後にどのトラックを分散処理の対象とするのかを指定する
必要があります。
幾つか方法があるようですが、私はトラックヘッダの上で、
Control キーを押しながらクリックして以下のメニューから
「トラックヘッダを設定」選択します。


そこで「ノード」をチェックして、「トラック・ノード・ボタン」
がトラックヘッダに表示されるように設定します。



そして該当のトラックでこのボタンをクリックすると表示が以下の
ように変わります。


上の「トラック・ノード・ボタン」は分散処理の対象になっていない
状態で、クリックすると下の様にアイコンが変わり、さらにノードでの
処理が可能な場合は緑が点灯します。

さて実際に演奏です。
CPUの状況は・・・



ノードのメータが新たに表示されて、見事に分散されてCPUの
オーバーロードが解消されているのがわかります!

これで解決です・・・と言いたいところですが(^ ^;

レイテンシーが少し高くて、録音したものをプレイバックするときは問題
ないのですが、ライブ演奏では発音が結構遅れますね。
ちょっと気になります。

有効だということは分かりましたが、私のケースでは夢のような解決策
ではなかったようです。

■Logic Node の注意点

マニュアルに記載されていますが、サンプリング系のシンセは、サンプリング
データをプライマリ-ノード間でやり取りすることがそもそも現実的ではない
とういことで、ノードで処理できないようです。(EXS24 と Ultrabeat)
他にもノードで処理できないケースがあるので注意が必要ですが、このような
ものは逆にCPUを酷使しないのであまり問題ではないように思いました。

以上になりますが、この方法もレイテンシの問題があることがわかりましたので、
あともう一つだけ試してみることにします。

それはまた次回に・・・

Sunday, March 29, 2009

サンプルレート問題(バッファ)

今回は、前回お伝えしたサンプルレートを92KHzにした場合の
雑音+エラーの問題解決に向けての試みについてです。

まずは環境設定から見てみます。

■環境設定(I/Oバッファサイズ)

今回はアレンジ画面のツールバーからアクセスしてみます。
このツールバーはコントロールキー+マウスクリック、もしくは
マウスの左クリックでカスタマイズメニューを選択し、カスタマイズ
することができますので、よく使うツールを表示しておくと良いですね。



「環境設定」は、Logic アプリケーションの設定で、その右の
「設定」はプロジェクトの設定を指しています。

今回は「環境設定」をクリックしてポップアップするメニュー
から「オーディオ」を選びます。



今回の注目は「I/Oバッファサイズ」です。

オーディオ機器が入出力の両方で使用するバッファのサイズ
とのことです。

プルダウンからバッファサイズを選択して環境設定画面下の
「変更を適用」をクリックします。

I/Oバッファサイズを大きくすることでCPUへの負荷を軽減
することができるそうですが、その副作用としてレイテンシー
が高くなるという問題があるようです。
バッファサイズを小さくすると、読み込んで、処理してという
サイクルが非常に短い時間で繰り返されるので、確かにCPUに
負荷が大きいような気がしますね。詳しいことは分りませんが・・

レイテンシーとは、オーディオ機器やMIDIインターフェース
から入力信号を受けて、デジタル処理後に信号が出力される
までの時間差のことを指していて、例えばMIDIキーボードを
弾いて(入力)から音が出る(出力)までにタイムラグが発生する
ケースがこれに該当します。

高くなるということは、遅れがひどくなるということで、演奏に
よるリアルタイムの入力の際には演奏に支障が出てきます。

64、128サンプルでは、96KHzでSculptureを演奏した場合
雑音が酷く、256サンプル以上では雑音は発生しませんでした。

ただ、CPUの負荷は負荷メータ上はあまり変化がなく、決定的な
対応かはよくわかりません。

256サンプルではレイテンシもそれほど酷くなく、個人的には
問題は感じませんでした。

■環境設定(プロセス・バッファ・レンジ)

同じ環境設定画面にある「プロセス・バッファ・レンジ」は
ミックスやエフェクトの処理に使用するバッファサイズだそうです。

これは大・中・小から選択するもので、やはり小はCPUに対する
負荷が高くなり、レイテンシが高くなってしまうようです。

少し重ためのエフェクトをかけて同様に録音してみましたが、
あまりこの変更が大きく雑音に影響してくるという感じはしません
でした。
とりあえず「中」にして様子を見てみることにします。


ここまでの方法で、雑音は解消しましたが、CPU負荷が変わらない
ことを考えると、沢山のトラックを使うことは絶望的に思えますので、
なんとかCPU負荷を減らしたいのですが。

(次回に続く)

Monday, March 23, 2009

サンプルレート問題

先週末、新しいテンプレートで曲作りにトライしてみたのですが、
高いサンプルレートに苦戦です(^ ^;

・リズムトラックに簡単なリズムを打ち込んで

・EXS24 という Logic に付属するソフトシンセ(サンプラー)でピアノを
 リアルタイム入力して

・ボーカルを続けて3トラック録音して

・Sculpture という Logic に付属するソフトシンセでパッド系の音を
 リアルタイム入力しているときに問題が発生です!

Sculptureでの音数を増やしていくと、デジタル特有の雑音が聞こえ
はじめ、ブツブツと音が切れる状況になり、さらには以下のような
ダイアログボックスが・・・


■原因は何?

以下の方法で、CPUへの負荷がオーバーロードしていることが原因か
確認です。

デフォルトで画面下部にある、トランスポートバーのCPUと書かれた
メータ部分をクリックすると次の「負荷メータ(CPU/HD)」が表示されます。


CPUが振り切っているではないですか!

次に96KHzを48KHz、44.1KHzに下げてみると、この通り。
やっぱりサンプリングレートは大きくかかわっていますね。



次にサンプリングサイズを24ビットから16ビットに変更たところ、
CPUへの負荷がオーバーロードしているところは変わらないのですが、
雑音及びメッセージの表示はありませんでした。

■どうしよう?

「Sculptureは、高度な振動弦の音響モデルに基づいてサウンドを生成します。」
とのことで、きっとものすごく大変な演算をしているのでしょうね。

この分だと、高機能なデジタルリバーブ Space Designer やデジタルディレイの
Delay Designer も同様の問題が出そうです。

やっぱり 48KHz か 44.1KHz に下げようかなと色々試していたら、
サンプルレートによって Sculpture の音が明らかに違うことにびっくりしました。
96KHzの方が音の輪郭、ニュアンスがはっきりしているのです。

アップロードまでの様々な過程で劣化していますが、即興で作ったサンプルを
聞き比べてみてください。

* 44.1KHz sample


*96KHz sample

様々な演算処理が行われることにより、誤差が拡大して
音の輪郭を変えてしまっているように思えます。

うーん、こりゃ 96KHz でがんばりたいなぁ(>_<)

次回は色んな解決方法をトライしてみます!

それでダメだったらあっさり48KHzにします(笑