今週金曜日はAbleton Meetup Tokyo Vol.50ですが、その前にSNSに投稿した中で反響の大きかった、Appleシリコン(M1とかM2)搭載Macでのオーディオの設定について掘り下げて書いてみたいと思います。
最近のMacはCPUがAppleシリコンに変わりましたが、オーディオを扱う上でこの変更が思わぬ所に影響を与えています。以前の僕がそうでしたが、M1にしたけど皆が言うほど速くないような…と思った方はオーディオの設定を見直してはいかがでしょうか?

この記事ではバッファサイズとレーテンシーについて取りあげますが、この2つは密接な関係にあります。
簡単に解説すると、レーテンシーはざっくりいうと「鍵盤を押してから実際に音が出るまでの遅れ」。単位はms(ミリセコンド=1/1000秒)で、人間はだいたい10〜20msあたりから遅れを感じるようになり、80msを超えたあたりから演奏できない状態になると言われています。人間の耳はタイミングに敏感なのです。
バッファサイズはもうちょっと難しいのですが、DAWから流れ出てくるデータをバッファ(緩衝装置/データを一時的に蓄えておく場所)する大きさを表しています。

水とバケツにたとえられる「バッファサイズとレーテンシー」

この2つを解説するのに水とバケツの例がよく使われます。たとえば、DAWからオーディオのデータが水滴のように落ちているとします。サンプルレートが44,1kHzなら1秒間に44100滴の水滴が高速に落ちてくると考えてみてください。
DAWの音をスピーカーから出すには、この水滴をこぼさないようにオーディオインターフェースに流さなければいけません。この水滴を取りこぼすとデータが欠落=音が途切れます。とはいえ、1滴ごとにデータを流していてはCPUさんが大変すぎるので、ある程度水滴がたまってからデータを処理してオーディオインターフェースに流します。

そこで登場するのがバッファとなるバケツ。このバケツの大きさがバッファサイズで、水滴がたまるまで待つ時間がレーテンシーにあたります。
水滴が少ししかたまらないバケツでは、バケツを動かしている人(CPU)が何度もインターフェースにバケツを運ぶので負担がかかりますが、水滴がたまるまでの時間は短いのでレイテンシーは小さくなります。
大きなバケツの場合、バケツを動かす回数が減るのでCPUの負荷は小さくなります。しかし、水滴がたまるまで時間がかかるので、その分レイテンシーが大きくなります。

このようにバッファサイズが小さければレイテンシーも低くなるけどCPU負荷が上がり、バッファサイズが大きいとその逆になる…といのがDAW界の常識でした。「バッファサイズ DTM」とかで検索すると、いまでも上記のことが教科書のように書かれています。

しかし、Appleシリコンではこの常識が変わりました。

Abletonのナレッジベースの記事に「Reducing the CPU Load on an Apple Silicon Mac(AppleシリコンのMacでCPU使用率を減らす方法)」という記事があります。なぜかこの記事は日本語訳されていないのですが、読んでみると大事なことが書かれています。

https://help.ableton.com/hc/en-us/articles/5266527910812-Reducing-the-CPU-Load-on-an-Apple-Silicon-Mac

Intel製のCPUでLiveを使うと
小さいバッファサイズCPU使用率が高くなる
大きいバッファサイズ CPU使用率が低くなる

それと比べてAppleシリコンでは
小さいバッファサイズCPU使用率が低くなる
大きいバッファサイズCPU使用率が高くなる

原文も載せておきます。

On Intel-based CPUs the following relationship in Live is as follows:
Smaller buffer sizes may result in higher CPU usage 
Larger buffer sizes may result in lower CPU usage

Contrastingly, on Apple Silicon CPUs:
Smaller buffer sizes may result in lower CPU usage 
Larger buffer sizes may result in higher CPU usage

Reducing-the-CPU-Load-on-an-Apple-Silicon-Mac

Choose a buffer size less than or equal to 256 samples 

それではどれくらいのバッファサイズが適切なのかというと、256サンプル以下に設定するのが良いようです。実際に自分のM1 Maxを搭載したMacbook Pro で試してみると、128サンプルと256サンプルではあまり負荷が変わらず、512サンプルに上げた途端にCPUメーターも大きく振れるようになりました。
なぜそうなるのか理由はよくわかりませんが、ここ数年Intel製のCPUでもバッファサイズを大きくしすぎると負荷が増えるといわれているので、CPUのコア数が関係あるのかもしれません。バケツ運ぶ人が沢山いるから小さい方がいいよ、みたいな。

Appleシリコンではバッファサイズが小さいと鍵盤を押してから音が出るまでの遅延も少なくなり、なおかつCPU負荷も低いままなのでいいことづくめです。
これを読んでいる方の多くは「ふ〜ん」だと思いますが、世の中には小さいレーテンシーの小さいDAW環境を構築することに多大なるコストと労力をかけている人もいます。ゲームや映画の劇伴は大量のソフトウェア音源を演奏するし、ギター等の楽器をAbleton Liveの中に入れてリアルタイムで加工する場合もレーテンシー少ないに越したことはありません。

いままでは「CPU使ってるんだから多少の遅れは我慢」というのが当たり前だったのですが、それがひっくり返ったわけでAppleシリコンはすごいのです。

こういった濃い話題もたまに繰り広げられるAbleton Meetup Tokyo Vol.50は11月4日開催です。7周年&50回目の開催です。
興味を持った方、お待ちしています。
詳細はこちら

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください