Wavelabの64bitFloat対応

1か月半前にCubaseとWavelabは64bitFloat(Double)に対応するアップデートが発表されました。他DAWに比べるとかなり遅く、今更感があるのですが、愛用している身からすると願ったり叶ったりで、云年ぶりにアップデート、Cubase6.5->9.5, Wavelab7.5->9.5にアップデートしました。UIもガラッと変わっており、タイムスリップしたような感覚です。慣れるのにちょっと苦労しそうです。

Double対応のせいか分かりませんが、音はかなり良くなりました。元々CubaseとWavelabはちょっとモジュレーション臭い音、まあこれはそれぞれDAWによって個性がありますから手放しでほめられるものはない、、、Pyramixを除いて、だったのですが、その癖が幾分ナチュラルになっていて、おーっと素直に感心しました。

Double対応したからと言って、特段自分のプロセスにメリットがあるわけじゃありません。ドシンプルな録音であまりプラグインやトラックメイキングをしない主義ですし、最近よく使っているレコードのレストレーションなどは、そもそもFloat領域で十分です。何より使ってるプラグインが24bitIntですから、そこでDoubleになったところであまり変わりはありません。

と言っても、本当に内部処理がDoubleかどうか内蔵のジェネレーターで見てみました。今まではDouble精度の信号を書き出せるソフトが無く、自分でプログラムを書いてテスト信号を作っていたのですが、Wavelab9.5は確かにDouble精度です。もっとも、それ以下のビット深度はDoubleからの単純変換のようで量子化ノイズが出ますね。ホワイトノイズを重ねて簡易ディザとして使おうにも最低レベルが-140dBFSまでなので、32bitIntなどは精度が出ません。なお、線が重なって判断できなくなってしまうので、各値オフセット入れてあります。近い線は同一値です。

難点を言うならば、Wavelab9.5, Cubase9.5、どちらもまだアップデートが見込まれる現行ソフトウェアということもあり、結構不安定です。今まで使っていた枯れたやつに比べると、ちょっと特殊なことをやろうとするとすぐ落ちる。まあ、改善されていくでしょう。

ここで触れるのもなんですが、アップサンプリング、特に最小公倍数の極めて大きい非整数倍アップサンプリングについて。これはやろうと思うと1つは力業で、ゼロ値挿入で最小公倍数まで上げて、LPFで折り返しノイズを切って、それを再度間引いてってやることになりますが、このときのLPFはサンプリングレートが大きいので、なおかつ、この後に間引きが控えているので、整数倍の時と同じ性能を満たそうと思うと膨大な計算量が必要です。実はこれが嫌で、拙作のPCM-DSD Converterは整数倍しか実装していません。一方、複数の内挿方法を組み合わせるという頭のいい方法があるんですが、自分ではそれについていけず実装できませんでしたww
https://jp.mathworks.com/help/dsp/examples/efficient-sample-rate-conversion-between-arbitrary-factors.html

まあ、デジタルフィルタの歪よりもDAC自体の歪が高いとはいえ、一度気づくと不思議と差が分かるもんです。完全な妄想ですが、内挿による歪はいわばマルチビットDACにおける周期ジッタによる歪とも捉えることができ、入力信号に相関な歪が出てしまうことが起因ではないかなと思います。

レコードを再生するときにADするのは前からですが、最近RCA->XLRの変換トランスをLundahlからJensenに変えたら、明らかに見通しが良くなったものの、低域が凄い伸びるようになってしまって、ちょっとした反りでウーハーが底打つようになってしまったもんですから、タップ数262144のFIRハイパスフィルタをかけて聞いています。そうすると、針を落としてから3秒後ぐらいに音が出始めますww これはこれでオツなもんですww