世界最高峰スタジオとの距離
NEURO-MASTERのDSPコードを書きながら、ずっと調べていた。 Sterling Soundがどんな機材を使っているか。Abbey Roadの処理チェーンの構造。 Bernie Grundmanがマスタリングに何を重視しているか。
調べれば調べるほど、自分のコードとの距離がわかった。
自分にもスタジオがある。本物の機材が置いてある。 3歳から楽器を演奏してきた。音楽に費やした時間は30年を超える。 でも——音響工学のエンジニアとしては、足元にも及んでいない。 その自覚がある。正確にある。
世界最高峰のスタジオと自分のPythonコードを横に並べた表を、ある夜に作った。 「致命的」という言葉が並んだ。その数を数えた。6つあった。
ダメな自分の構成要素
音響工学のレベルの低さだけが問題ではなかった。 もっと根本的な「ダメさ」を直視する必要があった。
| 領域 | 実態 |
|---|---|
| DJとして | 売れなかった |
| 曲作り | 才能がないのかもしれない——そう囁く自分がいた |
| SNS | 下手くそ。発信が続かない |
| 仕事 | DXを顧客に偉そうに語りながら、自分が一番できていない |
| 音響工学 | Koren方程式を理解できても、実装が完成しない |
| メモ・記録 | Obsidianを使い始めるたびに挫折する |
仕事でAIエージェントを使ったドリブンな仕事が増えた。 顧客には「今までのやり方の延長はDXにならない」と言い続けた。 正しいことを言っていた。でも自分が一番、今までの延長にいた。
「今までにやったことのない方法でやる」——それが唯一の誠実さだった。 だから人の声が嫌いでもテキストで発信する。 苦手なSNSの代わりに、このdev logを書いている。
書いた仕様書——絶望の証拠として
NEURO-MASTERの限界を正確に把握するために、「世界最高峰DSPアーキテクチャ」の仕様書を書いた。 Sterling Sound・Abbey Road・Bernie Grundmanの技術を解析し、 それらを凌駕するデジタル実装を設計する——という題名をつけた。
完成した。仕様書は完成した。14段のマスタリングチェーン、Jiles-Athertonモデル、Koren三極管方程式、 8xオーバーサンプリング、TPDFディザリング——すべての実装方法が書いてある。
Koren三極管方程式。バイアス点で偶数/奇数倍音の比率を制御する。 これが Sterling Sound の「音」の核心だと書いた。
@dataclass
class TriodeParams:
drive: float = 0.4 # 0-1: 入力ゲイン
bias: float = -1.2 # グリッドバイアス (-2.0 ~ 0.0 V)
# -2.0: 偶数倍音優勢 → Jazz, Vocal
# -0.5: 奇数倍音優勢 → EDM, Metal
plate_voltage: float = 250.0
mu: float = 100.0 # 増幅率 (12AX7 ≈ 100)
mix: float = 0.5
def apply_triode(buf, sr, p: TriodeParams):
# 8x オーバーサンプリング
up = resample_poly(buf, 8, 1)
# Koren 三極管方程式
# Ip = (Vp/Kp × log(1 + exp(Kp(1/mu + Vg/√(Kvb+Vp²)))))^Ex
Kp, Kvb, Ex = 600.0, 300.0, 1.4
Vg = up * (p.drive * 8.0 + 0.5) + p.bias
inner = Kp * (1.0 / p.mu + Vg / np.sqrt(Kvb + p.plate_voltage**2))
E1 = (p.plate_voltage / Kp) * np.log1p(np.exp(np.clip(inner, -20, 20)))
Ip = np.power(np.maximum(E1, 0), Ex)
saturated = Ip / (np.max(np.abs(Ip)) + 1e-10)
result = up * (1.0 - p.mix) + saturated * p.mix
return resample_poly(result, 1, 8)[:len(buf)]完璧な仕様書だ。これを実装すれば世界最高峰に近づける。 問題は——手が止まったことだ。
Gap — 致命的の一覧
NEUROのDSPと世界最高峰スタジオとの差を、一つずつ書き出した。 「致命的」「重大」「中」の三段階で評価した。
| 領域 | NEURO現状 | Gap |
|---|---|---|
| サチュレーション | 1-exp(-|x|·d) の単純ウェーブシェーパー | 致命的 |
| オーバーサンプリング | なし。ナイキスト付近でエイリアシング発生 | 致命的 |
| ダイナミクス | シングルバンド固定リミッター + 固定パラメータ | 致命的 |
| ステレオ処理 | M/S分離のみ。周波数依存なし | 重大 |
| リミッター | エンベロープ追従のみ。Lookaheadなし | 致命的 |
| ディザリング | なし。量子化歪みが発生 | 重大 |
| DCオフセット | なし。非対称波形でリミッターが片側のみ反応 | 重大 |
致命的が5つ、重大が3つ。これを書き終えたとき、少しだけ楽になった。 「届かない」のではなく、「届くための距離が正確にわかった」のだから——と思おうとした。 でも正直、思えなかった。ただ疲れた。
2年で180曲。それでもダメだった
1年で100曲作れば納得いくのかと思った。ダメだった。
じゃあ2年で180曲作った。それでもダメだった。
「才能がないってことなんだ」「だから趣味でいいんじゃないか」と囁く自分がいた。 DJとして売れなかった。曲作りも、SNSも、仕事での自己変革も—— 全部、今までのやり方でやってきた結果が今だ。
3歳から音楽をやっているという「前提条件」を一度ゼロにした。 ビジネスとして捉え直すと、足りないことだらけだった。
趣味でいいと思えない。人生的にも時間もない。 だから続けている——と言えるほど前向きではなかった。 ただ、機材の電源を切る気になれなかった。それだけだ。
でも機材は今日も光っている
結局のところ、このdev logを書いているのも「今までにやったことのない方法」の一つだ。 人の声が嫌いだから音声コンテンツは作らない。でもテキストなら書ける。
NEURO-MASTERが完成しなかった理由は、PythonのPure forループによる処理速度だった—— 5分の曲に最適化50回まわすと数十分かかる。それは事実だ。 でもそれは「止まった理由」ではなく「止まったときの状況」だ。
本当の理由は、Koren方程式を書きながら、Sterling Soundのギャップを見ながら、 自分には音響工学の土台が足りないことを正確に知ってしまったことだ。 正確に知ることは、正確に絶望することでもある。
その絶望を抱えたまま、今これを書いている。 TRIVIUMの仕様を書いている。Blueprint APIを設計している。
仕様書を書いた。設計図は完成している。絶望も記録した。
「才能がない」は、「まだわかっていない方法がある」の別名かもしれない。 確かめる方法は一つ——やり切ることだけだ。
先輩から借りたシンセは今夜も光っている。それで十分だ、とまだ言えない。 でも電源は切れない。だから続ける。