CubaseはCPUの並列処理に対応しているDAWソフトです。今時のDAWソフトは大抵対応していますね。筆者はCubaseをメインに楽曲制作を行っています。しかし、設定でマルチプロセッシングを有効にしていても、実際のところ本当に並列処理されているのか疑問に思うことも多々あります。

オーディオファイルの変換

作業をしていてふとここは簡単に並列処理が出来るはずだと思った処理がありました。それはオーディオファイル読み込み時の変換処理です。

ある一つのファイルの変換をスレッドを分けて処理するのはもしかしたら難しいのかもしれません。しかしファイルが複数ある場合、それぞれのファイルをそれぞれのスレッドに割り当てて処理することは容易だと思います。ちょうどベンチマークソフトのCinebenchのような感じです。Cinebenchは1つのスレッドが1つのブロックの描写を行い、スレッド数が多い程まとめて次々に処理をしていきます。

Cinebench

例えばIntel Core i7 8700Kなら12ファイルずつ、AMD Ryzen 7 1800Xなら16ファイルずつ変換処理が出来るはずです。

きっかけ

最近長い曲をミックスダウンする機会があったのですが、パラデータの読み込みと変換に15分前後掛かってしまい、並列処理されないことがとても不満でした。CPUリソースを100%使ってて15分掛かってしまうのであれば、それは致し方ないことで、不満ならコンピュータを買い替えるしかないでしょう。しかしCPUリソースは10%程度しか使っていないのです。複数ファイルをまとめて変換が出来れば、もっと速くなるのは明らかです。

並列処理の今後の展望

効率的な並列処理が出来ることで定評のあるソフトに、Vienna Ensemble Proがあります。

Vienna Ensemble Pro 6

Vienna Ensemble Proを導入しなくても良いくらいCubaseで効率的に分散が出来たら良いのですが…。これは筆者個人の考えですが、すぐではないにせよ何れどのDAWソフトも効率的な並列処理が出来るようになると思います。昨年発売されたAMDのRyzenを皮切りに、今後CPUの多コア化が進むであろうからです。ソフトウェアも後追いで多コアを前提としたプログラムになっていくと思います。