hysteresis
ノード履歴効果(ヒステリシス)を持つ磁気飽和。瞬時値だけでなく、信号の過去の推移によって出力が変化します。
パラメータ
{
"drive_db": 12,
"type": "hysteresis",
"width": 0.5
}計算
He = H + α·M 実効磁界
Man = Ms · L(He / a) 無ヒステリシス磁化(ランジュバン)
dMirr/dH = (Man - M) / (δ·k - α·(Man - M)) δ = sign(dH)
dM/dH = [(1-c)·dMirr/dH + c·dMan/dHe]
/ [1 - α·c·dMan/dHe - α·(1-c)·dMirr/dH]- width はヒステリシスループの幅(保持力)です。0付近ではほぼ線形動作となり、最大値で最も幅広くなります。
- ドライブ補償の設計思想はwaveshaperと同様で、ドライブを上げても音量は一定に維持されます。Jiles-Athertonモデルでは補償量を解析的に積分できないため、基準正弦波をモデルに通して事前に実測・計算しています。使用するのは固定のテスト波形であり、再生中の楽曲信号ではありません。
- モデルは準静的(時間微分 dM/dt ではなく磁界微分 dM/dH で定式化)であるため、サンプリングレートごとに式を再導出する必要がありません。
使うときの注意
dc_blocker は不要です。
対称な交流入力であればヒステリシスループも原点対称となるため、直流成分は発生しません。これは単なる仮定ではなく自動テストによって保証されています。非対称waveshaperとの大きな違いです。
計算負荷が最も高いノードです。
内部状態を持つ逐次処理であり、条件分岐と超越関数を含むためSIMDベクトル化が困難です。長いFIR畳み込みなどを併用している環境では、このノードを多段配置する前にCPU負荷の数値を必ず確認してください。
非線形ノードのため、安全機構が作動します。
試聴前にシミュレーション検証が行われ、そのセッション中は常に出力リミッターが有効化され、再生開始時にソフトスタートが適用されます。