必要なスペックについて
Hiresifyは、ハイレゾに変換するための処理に大きな計算能力を必要としています。
ソフトウェアに必要なスペックをこれから説明していきます。
CPU
Version 0.95の時点では、処理にCPUを使用します。
高いクロック、多いコア数の両方が高速に処理を行うために必要です。
また、将来的にGPUでの演算が可能になる予定です。
Hiresifyでは512倍オーバーサンプリング時に65536タップのFIRフィルタを、2048倍オーバーサンプリング時には262144タップのFIRフィルタを実行します。
(Chord製DACのDaveでは2048倍オーバーサンプリングで164000タップでしたので、大分リッチな計算量です)
これが一番多くの処理量を占める処理で、計算の効率化で実際には128タップ分の計算量で処理することができます。
1タップ分の処理を行う時は、掛け算一回と足し算一回の計算を行います。
音声1サンプルにつき128回の掛け算を行いますので、5分の音楽ファイルでは44100*60*5*128*2=3,386,880,000回(ほぼ34億回)の計算が行われます。
計算回数は多いですが、完全に並列化できるため計算機の性能を限界まで使用して計算することができます。
HiresifyではAVX命令やFMA3命令を使用して処理を行います。
HiresifyはFMA命令を使用することで音質の向上を図っています。
そのため、IntelのIvyBridge世代以前やAMDのBulldozer世代のCPUでは動作しません。(Exavator世代でも多分動くと思いますが、サポートできません。)
最低でもCore 4×00やRyzen 1×00世代のプロセッサが必要です。
Intelの第4世代以降のCoreやAMDのZen2のような256bit幅のAVX実行ユニットを2つ持ったCPUでは64bit演算の場合8つの処理を同時に行うことができます。
AMDのRyzen1x00や2×00の場合などAVXの実行ユニットは128bit幅なので半分の4つの処理を行えます。(速度は劣ります)
Skylake-XのようなAVX-512に対応したCPUでは倍の16個の処理を同時に行えます。
また、ArmプロセッサのNEONでは128bit幅の処理を行えます。(Armでの速度は実装により異なります)
Arm系のCPUは、富岳に搭載されている富士通のA64fxのような特殊なプロセッサ以外ではSIMD演算を苦手としていて、出来ればGPUに任せたいところです。
今後のArm版Macでの実装を考えると処理のGPU化は避けられなさそうです。
一方、ダウンサンプリング時に使用するIIRフィルタは真逆で、処理量は少ない反面並列化が困難です。
処理速度はクロック周波数とほぼ比例関係で、コア数を増やしても全く高速化できません。
そのため、高クロックのCPUが必要になります。
処理量はオーバーサンプリング周波数と比例関係となり、2048倍オーバーサンプリング時には多くの時間を割くことになります。
お勧めのCPUとしてはAMDのRyzen3600やRyzen3700Xとなります。
メモリ
長い時間の音楽ファイルを処理する場合、多くのメモリを搭載しないと処理が強制終了します。
例えば、X JAPANのART OF LIFEのような長い曲を88.2kHz/64bit-Floatのフォーマットで記録した場合、ファイルサイズは3GB近くまで膨れます。
音量の調節の際、このすべてをメモリ上に展開するため、普段使用するメモリ量に加えて4GB程度の余裕が必要になります。
一時ファイルの容量を増やすなどして使えるメモリの量を増やしておくことが大事になります。
また、wavファイルの仕様上ファイルサイズは4GB程度が限界となり、時間にすると大体40分くらいが目安になります。
また、CPUが計算を行うためにはメモリから情報を転送する必要があります。
つまり、処理速度が速い高価なCPUほど、高速なメモリを必要とします。処理するデータが転送されて来ないと、計算することができないからです。
高速なメモリを搭載していない高価なCPUは、安価なCPUと変わりません。(とは言いつつ、実際にはCPU内部にSRAMという超高速なメモリが入っているので、大分メモリの影響は小さくなります)
できる限り、メモリはデュアルチャンネルにするべきだと考えられます。
AMD製CPUでは、メモリの動作クロックがCPUのキャッシュ転送速度に影響を与える性質があり、DDR4-3200のメモリを選択する大きな理由が存在しています。
Hiresifyの推奨メモリ容量は8GBとなります。
足りない場合でも一時ファイルのサイズを増やせば問題無く処理できると思います。
ハードディスク
64bit浮動小数点のファイルを残す場合、巨大なストレージが必要になります。
その場合は、3TBのハードディスクは最低でも必要になってくると思います。
近年は容量が10TBのハードディスクも2万円台になってきていて、バイトあたりの値段では割安になっています。(以前はヘリウム充填だったのですが、最近は違うものもあるようです)
GPU
Version0.95ではGPUを使用しません。
しかし、将来的には対応予定です。
Hiresifyは64bit浮動小数点演算を行います。
AMD製のGPUはnVidia製GPUよりも64bit浮動小数点演算を得意としているとされています。
nVidiaのGeForceシリーズはゲーム性能を重視していて、64bitの計算能力を削減しています。
AMDのRadeonシリーズも64bitの性能は削減していますが、nVidiaほど極端に削減はしていないようです。
新型のRDNA系のGPUは64bitの演算器を削減しているとされますが、TechPowerUpのGPUデータベースによれば古いGCN系のものと変わらないようです。
nVidiaのGPUでも科学計算用のGPUは64bitの計算を高速に処理できます。
nVidiaでもAMDでも計算用のGPUは車一台買える値段なので、一般人には縁の無い商品だと思います。
VRAM容量は4GBでも十分対応できるように開発したいと考えています。
もう一つ重要なのは消費電力です。
消費電力が200Wを超えるようなGPUでは部屋の温度を一気に加熱するだけの発熱があります。
コントロールしやすい程度に性能を落とすのも大切なことだと思います。
GPUの空冷ファンの数も重要です。
デュアルファンのGPUはファンの回転数を低く抑えることができ、耳障りな騒音を削減できます。
性能重視ではRadeon RX5700XTや今後発売になるRX6700XT、安価なGPUでは在庫限りのようですがRX580やRX570が良さそうです。
RX5600XTは性能的にはRX580と変わらず、価格が高いのであまりお勧めはしていません。
発熱的にはRX570くらいの150W程度が扱いやすいです。
PCゲーム開発ではnVidia製GPUを中心としていることが多く、ゲームのプレイも並行して考えれるのなら、GeForceシリーズでも悪い選択とはならないと思います。
2020年現在、在庫があるうちはRadeon RX570/580がお勧めで、予算と発熱が許せばRadeon RX5700XTでしょうか。両者とも選べない状況ならGeForce GTX 1650あたりになるとは思いますが、こちらも在庫は多くなさそうです。
nVidia、AMD共にミドルレンジは今後に新製品が控えていて、今は少し時期が悪いかもしれません。
オーディオ環境
ここまではPC側の話をしてきたのですが、ここからはオーディオの話になります。
Hiresifyの開発では、どんなオーディオ環境で音質の調整を行っているのでしょうか。
DAC | ONKYO DAC-1000 |
---|---|
ヘッドホンアンプ | Burson Audio Soloist MK2 |
RCAケーブル | MOGAMI 2534 / Audio Creation S-MEVS |
ヘッドホン | AKG K712 PRO |
USB->光出力 | TASCAM US-366 |
再生ソフト | uLilith |
据え置きの環境は以上になります。
最高の機材を使用しているとは言えないものの、それなりの環境は確保されていると思います。
Hiresifyは88.2kHzのサンプリング周波数で音声を出力します。機種によっては対応していないこともある周波数です。(実際にDAC-1000はUSB接続では対応していません)
DAC、ヘッドホンアンプ共に、電源部にこだわりを持って選択しました。両者ともACアダプタ駆動ではなく、大型の電源部を内蔵している機種です。電源の安定さは音質に直結すると思います。
RCAケーブルは自作で、MOGAMI 2534 か Audio Creation S-MEVSを気分で使い分けます。
MOGAMI 2534は定番のRCAケーブルです。レコーディングエンジニアが最終的に調整する際に使っている可能性が一番高いと思います。よくフラットと言われますが、実際には少し一部強調している部分があり、延長ケーブルとして使うと音が変わってしまいます。エンジニアがこのケーブルの特性を元にソースを調整しているのでこのケーブルが一番フラットに聞こえると思います。
Audio Creation S-MEVSはPC Triple-C導体を使用したケーブルで、千石電商で入手することができました。MOGAMIよりこちらのほうがフラットだと思います。残念ながら、最近は入手が難しくなりました。
プラグはカナレのものを使っています。ハンダは古典的な日本アルミットの鉛入りハンダを使用しています。銀入りはあまり好みじゃありません。
ヘッドホンはAKG K712 PROです。どんなジャンルでも安定して聞きやすく再生してくれる万能ヘッドホンです。万能ですが、開放型なので盛大に音が漏れます。密閉型だとSHUREのSRH1540とかいいと思います。欲しいですがちょっと高いです。ケーブルは純正のものを使用しています。リケーブルすると高音が強くなり、聞き疲れするようになるので変えていません。
PCとDACの接続は光接続にしています。光接続の場合、電気的にPCとDACを接続しないのでノイズが乗るのを避けることができると思います。光の場合ケーブルは安価で大丈夫だと思います。最近は光出力のできる機械は少なくなっています。光では24bitが限界なので、32bitで出力する場合はUSB一択になります。
再生ソフトはuLilithを使用しています。別にfoobar2000でも問題ありませんが、Windowsの場合ASIOかWasapiで出力するのがオススメです。
以上の試聴環境の他、Xperia XZやFiio M11にFinal E3000を接続する持ち運び用の環境でも十分Hiresifyらしい音は確認できたと思います。
これまでに挙げた機材はヘッドホン以外はほとんどが2020年現在、生産を終了しています。
近年は中国製の優秀なDAPが様々なメーカーから発売されています。
Fiio M11(pro)以外にも、Hiby R6Pro、iBasso DX300、Cayin n6iiなど、面白そうな機種が一杯ありますね。
据え置きのオーディオに限らず、どのプレイヤーでもHiresifyの力は発揮できると思います。
是非素敵なオーディオ環境を見つけてみてくださいね。