Shepard 音阶悖论 — Geruon 帧经济中的结构矛盾

日期: 2026-06-01 状态: 完成

问题

Shepard 音阶同时具备两个互相矛盾的结构维度:

  • chroma 圈: 每 12 步回到同一 pitch class(闭合)
  • height 漂移: 每步上升 1/12 八度(开放)

人类听觉系统无法判定音阶是在上升还是下降——它永续上升却永不离开。这是听觉版的彭罗斯阶梯。

问题: Geruon 的帧经济如何处理这种结构矛盾?

方法

  • 编码: D=4 [chroma_sin, chroma_cos, height_norm, octave_norm]
  • 参数: κ_τ=3, cap=16(标定默认值)
  • : 24-30 八度,每八度 12 步
  • 对照: 纯 chroma(height=0)、纯 height(chroma=0.5)
  • 扫描: cooccur_window ∈ {6, 12, 18, 24, 36, 48, 64, 96}
  • 固定 readout policy: R1-R8(已冻结)

结果

1. 相边界闪烁 — Shepard 的独有特征

Shepard 流中 Geruon 在 CRITICAL ↔ LOCKED 之间快速振荡(相边界闪烁),这在纯 chroma 和纯 height 中均不出现:

八度  0- 3: RESTING     τ=0.63  帧快速形成
八度  3- 6: → CRITICAL  τ=0.72  chroma 圈开始锁相
八度  6-14: CRITICAL    τ→0.74  缓慢上升
八度 14:    ⬡ 首次 LOCKED (τ>0.75, 步 175) ⬡
八度 15-21: CRITICAL ↔ LOCKED 快速振荡 (26 次相变)
八度 21-30: → RESTING   τ 微降,系统"穿过"但未解决

异变点在八度 14(步 175)——系统首次无法维持稳定相态,进入边界振荡。

2. 窗口依赖性 — 悖论的结构分辨率

窗口 (步) chroma 圈数 ac12 (τ) 闪烁次数 LOCKED% 悖论状态
6 0.5 0.000 32 9.4% 太小,看不见圈
12 1 +0.176 40 11.5% 悖论最强
18 1.5 +0.087 25 7.3% 悖论强
24 2 +0.197 19 5.6% 悖论中等
36 3 +0.498 13 3.8% chroma 主导,悖论减弱
48 4 +0.029 19 5.6% 悖论中等
64 5.3 +0.111 17 4.9% 默认值,悖论中等
96 8 0.000 5 1.4% 悖论消失

窗口=12(恰好一圈 chroma)悖论最大化——闪烁 40 次,ac12 存在但不压倒性。窗口=96(8 圈)悖论完全消失——chroma 沉入”旧闻”,系统只看到局部半音步进。

3. Geruon 的应对策略:过度锚定

和初始预期(τ 在两个维度间振荡)相反,Shepard 的 τ_final(0.7493)高于纯 chroma(0.7389)和纯 height(0.7454)。面对矛盾,系统不困惑——它过度锁住可预测维度(chroma 圈),用更高 τ 排斥不可预测维度的干扰。

  Shepard Chroma-only Height-only
τ_final 0.7493 (最高) 0.7389 0.7454
τ_ac12 +0.632 (最强) +0.612 +0.620

结构张力不产生混乱——产生过度锚定

结论

  1. Shepard 悖论在 Geruon 中产生可测的行为签名——CRITICAL↔LOCKED 相边界闪烁,区别于所有对照条件
  2. 悖论是窗口依赖的——仅在 cooccur_window 包含恰好 1-2 个 chroma 圈时可见。太小则无圈,太大则圈被淹没
  3. Geruon 的矛盾处理策略是过度锚定——抓住可预测维度,锁定排斥不可预测维度
  4. 这和人类知觉中的 Shepard 限制对应——人类也仅在特定音域窗口内体验永续上升

与 Escher/视觉的矛盾桥接

Shepard 是听觉版的彭罗斯阶梯。Geruon 的”过度锚定”策略预测了视觉 impossible figure 处理的同一行为:系统不会困惑,会锁住局部规律维度(每一步楼梯确实上升),忽略全局矛盾(楼梯闭合)。cooccur_window 对应视知觉中的注意窗口——决定结构矛盾是否在视野内。

脚本

  • experiments/shepard/_shepard.py — 主实验(含三条件对照)
  • experiments/shepard/_shepard_phase.py — 相变分析与异变点检测
  • experiments/shepard/_shepard_window.py — 窗口依赖性扫描