FiiO K5 Proのレビュー & PulseAudioでハイレゾ出力を有効にする
どうも、ひよこ大佐です。
Fedora 33をインストールしているメインPCのHADES NUC(NUC8i7HVK)のオンボードのオーディオが、Fedoraでは上手く動作しないケースがありました。デバイスは認識されておりOS上では音声が出力されているように見えるのですが、実際には一切音が出ないという状況がたまに発生し、原因不明のままフラストレーションが溜まっていました。
いろいろと試したのですがすぐには解決不能でしたので、根本的な対策として新たにFiiOの「K5 Pro」というUSB DACを購入しました。
このUSB DACはUSB Audio Class 2.0に準拠しているため、プロプライエタリなドライバを利用せずとも、接続すればすぐに音声を出力することができます。接続しボリュームノブを回すと、青色に点灯し正常に音声が出力されました。
FiiO K5 Proのレビュー
私はスピーカーにSonyのSRS-D5、ヘッドホンにB&W P7を使用しています。ヘッドホンを接続してみると、PCに直接接続していたときと比較して明らかに音質が改善されました。余計な味付けはせず、純粋に解像度と音の分離が向上している印象です。今まで意識していなかった薄い膜が取り払われ、より音楽に没入できるようになりました。
どちらかというと寒色系の出音ですので、元々の出音がモニターチックなヘッドホンだと味気無く感じるケースもあるかもしれません。個人的にはB&W P7のキャラクターとはかなりマッチしていると思います。P7はインピーダンスは22Ωで、300Ωのゼンハイザー HD800のように鳴らしにくいヘッドホンではないので、音量については全く問題ありませんでした。ゲインスイッチも最低にしてボリュームノブも半分より右側に回すことはまずないです。その前に鼓膜が破れるかヘッドホンが壊れます。
また、このセットでApex Legendsをプレイしてみましたが、敵の足音の位置把握が驚くほど格段にやりやすくなりました。もともとPC直挿しでもそこまで聞き取りにくいと感じてはいなかったのですが、明確に向上しています。
私は昔からFPSゲームにはバーチャル7.1chに対応しているゲーミングヘッドセットよりも定位がしっかりしているモニター用ヘッドホン派で、真剣にFPSをプレイしていた時はSHUREのモニターヘッドホンを愛用していました。ゼンハイザーのGAME ZEROを使っている時期もありましたが、やはり定位や音の分離に優れているヘッドホンとDACを使用するほうが確実に聞き取りやすいです。
B&Hというアメリカの通販サイトで購入したので、日本の実売価格より5000円ほど安く入手することができました。非常にコストパフォーマンスに優れたDACと言えると思います。
ハイレゾ出力を有効化する
さて、本題の「ハイレゾ」について。実はこのDACはステッカーが貼ってあるとおり、768kHz(!?)/32bitまでのハイレゾ出力に対応しています。
主な特長
個人的にはSpotifyの最高音質設定の音源で満足してしまう程度にはクソ耳なのでハイレゾの必要性は全く感じていないのですが、「出力できるのであれば設定してやろう」という軽い気持ちで変更してみました。
1. /etc/pulse/daemon.conf
を編集する
ハイレゾ出力を有効化するには、PulseAudioの設定を変更する必要があります。上記ファイルを開いて、以下のデフォルトサンプルレートとフォーマットが定義されている箇所を見つけます。
;; default-sample-format = s16le ;; default-sample-rate = 44100
上記を見ると、デフォルトでは44.1KHz/16bitで出力されているようです。K5 Proは再生する音源のサンプルレートによって色が変わるのですが、48KHz以下は青色で点灯します。なので最初に接続すると青色で点灯していたわけです。
この箇所のコメントを外して設定を有効化し、以下のように書き換えます。
default-sample-format = s32le default-sample-rate = 192000
とりあえず192KHz/32bitを指定してみました。ほとんどのハイレゾ音源ではこれ以上のサンプルレートで収録されていないと思うので、指定するだけ無駄だと思います。
2. PulseAudioを再起動する
変更したら、以下のコマンドでPulseAudioを再起動します。
$ pulseaudio -k; pactl list short sinks
再起動すると、以下のように出力されるので、192KHz/32bitでの出力が有効化されていることが確認できます。(最初の行はマイクのモニター出力です)
$ pulseaudio -k; pactl list short sinks 0 alsa_output.usb-Razer_Inc_Razer_Seiren_X_UC1846L01202109-00.iec958-stereo module-alsa-card.c s16le 2ch 48000Hz IDLE 1 alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K5_Pro-00.analog-stereo module-alsa-card.c s32le 2ch 192000Hz IDLE
また、DACのLEDも黄色に点灯し、ハイレゾで入力されていることが確認できます。
ハイレゾ音源を試聴してみる
せっかくハイレゾが再生できる環境なので、moraからヨルシカの新アルバム「創作」のハイレゾ音源を購入し、何曲か聴いてみました。
……全く違いがわかりません。
当たり前なんですが、B&W P7の再生周波数帯域は「10Hz~20kHz」なので、ハイレゾ音源を再生したところでヘッドホンが出力できませんので、全く意味がありませんでした。
一応Spotifyの音源と比較すると「ちょっとボーカルのsuisさんの声や楽器の音が艶っぽい気がする」んですが、これが320kbpsのSpotify音源とロスレスのFLACの違いなのか、ハイレゾによるものなのかは一切わかりませんでした。というかハイレゾの差を検証するにはmoraで非ハイレゾでFLACコーデックの音源を購入して比較しないといけないですね。ハイレゾ出力に対応したヘッドホンかスピーカーがあれば検証できるのですが、あいにく手元には一切ないので検証不能という結果になってしまいました……。しかし、ハイレゾなんぞ対応してなくてもいい音であることは間違いないので、個人的には「ハイレゾ、いらないんじゃない?」と思っています。
ハイレゾ対応のヘッドホンを入手したら、再度検証してみようと思います(購入するための口実じゃないですよ!)
追記
PulseAudioの設定を深堀りすると、高音質化するために効く(と思われる)パラメータがいくつかあります。
たとえば、 default-sample-format
は、float32le
というより高精度なサンプルフォーマットを指定することも可能なようです。
しかし、K5 Proは上記の指定は効かないようで、s32leにしか対応していないようです、
$ pacmd list-sinks | grep sample sample spec: s16le 2ch 48000Hz sample spec: s32le 2ch 192000Hz
他にはいくつかのブログ記事で見かけた avoid-resampling
や resample-method
というパラメータもあります。avoid-resampling
を有効化すると、音を再サンプリングしないよう設定することができるので、元の音源をそのまま出力することができます。
しかし、このオプションは「historically been buggy and problematic」とされていて、有効化することによる弊害もあるようなので、私はデフォルト設定のままとしています。
resample-method
については、デフォルトよりCPU負荷は上がりますがより高音質な「soxr-vhq」を指定しています。(ちなみに設定による音質の差は聞きわけられませんでした)