RIAAイコライジングをアナログではなく、ディジタルドメインで実行するプロジェクト、始動です。
今回は前回に輪をかけて、数字が羅列されているだけのツマラナイ内容に終始しています。オーディオは突き詰めると最後は全部数学になりますので致し方なし。

王道ど真ん中の、ジェネリックオーディオというんでしょうか、本当に素晴らしいと思います。だっていくつかハコを買ってきて線でつないでツマミを回すだけで誰でも楽に音が出せるんですもの。ところが、オーディオの世界でもど真ん中じゃなくてね、フチ、とでもいうんでしょうか、端っこの方、ですね。つまり、マニアックな世界になればなるほど、計算や数学が必要になってきます。計算しないと音さえ出ないんだこれが。
フチ、端っこと言っているのは、一般性は全く無いんだが、マニアックなマニアがやりたがるようなコトです。例えば、今回のDigital-RIAAもそうだし、Fsの再定義、Linkwitz-Transformもそう、ラウドスピーカー設計や回路シミュレーターもそういう類のもの。DIYをされる方なら尚更です。回路理論から始まって回路設計、CircuitSim、実測に至るまで数学の塊ですもんね。制作ではなく趣味でリペアをされる方もそれに類する技術が求められてしまいます。前稿が計算式まみれだったことを思い返してみてください。
今回も実際に着手するにあたって、まだまだ事前配慮が沢山あります。
RIAA再生のスキーマティックスを考えていくにあたっては、 Wayne StegallさんのDigital Phono Equalizationページはもちろんのこと、海外diyAudioフォーラムの多大な刺激と知見に依るところが大きいです。本当にありがとうございます。先人の知恵と努力にはこの場を借りて深く御礼申し上げます。こんな極東の小島にもチラホラとフォロワーが居るんです。
RIAA再生のスキームを考える

MCカートリッジをダイレクトA/Dするのは無理ということが判りましたので、私が実施するとしたら必然的にこのスキームBになります。
特にA/Dした後はどうするのかでスキームは大きく分岐します。例えば、A/Dした後の信号はハイ上がりの逆RIAA信号ですが、これをそのままディジタルファイルで保存しておくという手もあるし、信号処理ソフトでRIAA処理後のフラットな信号をディジタルファイルで保管するという手もあります。また、ディジタルファイルにいったん保管するのではなく、リアタイでディジタルRIAA処理して再生してしまうという手もありますし、そのRIAA処理を「どこで」行ううのかも大きなポイントになります。
大きく分ければ、
B-1:
Audacity等で予めRIAA編集し、フラット状態にしてからNAS保管し、通常の再生装置で再生する。
B-2:
ハイ上がり信号のままNAS保管し、再生時にDSPでリアルタイムRIAA処理する。
この2つになるでしょうか。
B1もチャレンジしますが、私はまずはB-2でやってみることにしました。
ワールドワイドに目を向けると、B-1は勿論沢山いらっしゃるのですが、B-2を実施しているマニアも大勢いらっしゃるのです。

ポイントは青字。A/Dも保管もD/Aも、最も高い信号レベルはLINEレベルすなわちP-Pが数千mVに達していなければなりません。ADCやDACのチップセットがそのように設計されており、フォノ時代の信号処理用に作られていません。そうするためには何らかのヘッドアンプが必要ということです。例えばマイク入力のオーディオIFも、A/Dする際に数Vレベルへ引き上げられるよう、十分なゲインのプリアンプが内蔵されています。DiyAudioフォーラムでは、FOCUSRITEに載ってる50dBゲインで十分だという先達も居ました。chatGPTは60-70dB以上のゲインが必要と言っていましたね。でも実際は、+50dB未満でも十分なのです。そのことにも触れておきます。
Flatプリアンプに求められるゲインとは
例として現在私のトーンアームに付いている「AT-F5」は定格出力が0.3mV(rms)です。
でもこれ、あくまでも1kHz基準での出力です。
約 0.3 mV (rms) @ 1 kHz, 5 cm/s
カートリッジの出力は、高域がプリエンファシスされた右肩あがりの特性です。いわゆるinverted RIAA。そして、この時の20Hzは1kHzに対して-19.6dB。高域20kHzは1kHzに対して+19.3dBとなります。
低域20Hz = -19.6dB
中域1kHz = 0dB(基準電位)=0.3mV
高域20kHz = +19.3dB
確かに中域0.3mVを500mV(rms)まで持ち上げようとするなら+64dB超のハイゲインが必要となります。しかしそんなことをしたら、高域がオーバーロードでADCが高域でクリップしてしまいます。
結論から言えばそんなハイゲインは全く必要がない。
0.3mVの+19.3dBは2.77mVであるから、2.77mVが500mVを越えないゲインとすれば良い。これをdBで換算すると+45.1dB必要・・・となります。
図にすると、

最大ゲインが500mV(rms)であるなら、p-pでは悠に数千mVを越えます。スクラッチ等のヘッドルームを配慮するとこれでも高すぎるくらいかもしれない。
だからUSBオーディオIFに搭載される50dBを超えるマイクアンプは、ゲインだけ言うなら及第点です。残る課題は受けインピーダンス。少し高域端にピーキングが出るかもしれない。それからノイズフロア。ECMは小さな受音レベルでも、MCカートよりは10倍高い数mVの出力があるんです。やはりノイズマージンに余裕がない可能性がある。やってみなければ分からない。
繰り返しますが、まずはUSBオーディオI/Fに内蔵されたマイクアンプをFlatプリアンプとして利用します。
Biquad Filterを設計する
幾人かの先達がそうしてきたように、私の場合はminiDSP内にBiquadフィルターを実装して対応しようと思います。
miniDSP FlexEightには標準でBiquad-Filterのナイキストを実装できる機能が備わっています。今回の場合は特に、入力プリプロセシングの中のPEQ内にRIAAフィルターを仕込みます。NASのRoon経由でレンダリングされたプリエンファシス状態のストリーミング信号が、プリエンファシスのままでWiiM Ultraまで転送され、そのままminiDSPに受け継がれ、miniDSPの入力段でRIAAディエンファシスされます。ディエンファシスされた後にminiDSPでXoverされて、パワーアンプへ送り込まれる。
言葉で説明すると何が何やらという感じだと思いますが、まあいいんです。判らなくても。
RIAA再生カーヴを再現するためのフィルタースキーマティックは以下の通りです。
| Filter 1: 1st LowPass | Fc 50.00 Hz | Gain 0.00 dB | Q 0.50 |
| Filter 2: HighShelf | Fc 1031.990 Hz | Gain 12.570 dB | Q 0.467 |
| Filter 3: Peaking | Fc 37794.908 Hz | Gain 6.130 dB | Q 0.559 |
ただしこの中でFilter3はオプションです。RIAAというのは基本2段ですから。Filter3は超高域補正用。これがあると高域端の特性を一層平坦に整えてリサンプル周波数内の折り返しも防げます。
この各フィルタの係数をBiquad用に置き換えねばなりません。係数展開の難しい計算を自身でチャレンジするのも手ですが、今は以下のようなBiquad計算サイトを利用すれば答え一発です。(沢山有ります):

こんな感じ。ヒジョーに易しい。また他方、汎用フィルタ設計用のスプレッドシートはminiDSP側からも提供されている。一応両方を確認してみましたがどちらの係数も結果が同じでした(当たり前か。)。私は最終的に転記の楽なminiDSPシートを使っています。



上図のように、3段のフィルタを重畳することで、RIAAカーヴが再現されます。
また一方で、miniDSPのBiquadシートには一発でRIAAを再現できるCoefsシートも準備されています。それがこちら。

確かにこれはRIAAカーヴ・・・。驚きました。
こんなモノが標準で用意されているということは、miniDSPを介して同じことをやっている人が既にたくさん居ることを示しています。
ただし、こちらの[RIAA]タブは高域のエンハンスは省略されています。通常の2段イコライザです。
このBiquadシートを使って作ったCoefsが以下。
まず、3段ディスクリートフィルタ。
## 96kHz, Discrete Biquad Filter coefs
biquad1,=
b0=0.000002668566305,
b1=0.000005337132609,
b2=0.000002668566305,
a1=1.993465701195010,
a2=-0.993476375460227,
biquad2,
b0=4.038590975057360,
b1=-7.681449551269820,
b2=3.651368040691490,
a1=1.803683839821240,
a2=-0.812193304300278,
=biquad3,
b0=1.287299151934340,
b1=1.130250995677610,
b2=0.152308275577198,
a1=-1.130250995677610,
a2=-0.439607427511538
次に、1つだけで完結するRIAAのCoefs。
## 96kHz, RIAA Integrated Biquad Filter coefs
biquad1,
b0=1.000000000000000,
b1=-0.755552100000000,
b2=-0.164625711300000,
a1=1.732765500000000,
a2=-0.734553443600000
これら係数をminiDSP内に入力またはロードするだけで良いのです。
miniDSPへフィルター適用

専用にRIAA-biquadという名前のPresetを作りました。

RIAAのCoefsはINPUT段のPEQセクションにセットします。

Biquad-coefsは[ADVANCED MODE]からセットアップします。

これは1本にまとめている方のcoefsを入力した様子。
準備ができたら[PROCESS AND APPLY]を押します。

ほら、RIAAカーヴがapplyされました。
グラフスケールが狭いから見切れていますが、上まで確実にRIAAが適用されています。
こんなゲイン一方向じゃクリップしちゃうんじゃないの?と心配されますが、大丈夫なのです。なぜなら、左肩下がりで20kHzでピークを迎えるような信号しか入力されなからです。

カーヴが3つに分かれてしまって見えますが、これらが重畳されればRIAAカーブになります。

なお、前述のようなテキスト入力をしても良いのですが、頻繁に係数を切り替えて楽しむことを考えると、予めcoefsをテキストファイルに保存しておいて都度ファイルロードした方が便利です。

これでDSP側の受け入れ準備が終わり。あとはカート出力を装置に直付けしてプリエンファシス信号をディジタル化して送り込むだけです。(とはいえ配線がめんど草っ)

シリコンパワー ノートPC用メモリ DDR4-2400(PC4-19200) 8GB×1枚 260Pin 1.2V CL17 SP008GBSFU240B02
Synology NASを拡張した時に入れたメモリーがコレ!永久保証の上、レビューも高評価。もちろん正常に動作しており、速度余裕も生まれて快適です。

フィリップス 電動歯ブラシ ソニッケアー 3100シリーズ (軽量) HX3673/33 ホワイト 【Amazon.co.jp限定・2024年モデル】
歯の健康を考えるのならPhilipsの電動歯ブラシがお勧めです。歯科医の推奨も多いみたいです。高価なモデルも良いですが、最安価なモデルでも十分に良さを体感できる。