手腕与绳
锚点运动、重力、阻尼、单向张力。
竹知了的声音不是一段循环录音。手腕先把角动量送进绳系质点,松香接触产生不规则粘滑脉冲,两个薄膜有效模态被反复擦响;其中一支声音穿过有损竹筒,再从管口反相叠回。
运动决定激励强度,激励唤醒结构,结构决定音色,旋转方向决定远近。把层次拆开,开发者可以替换任一部分,也可以清楚知道每个参数在哪里生效。
锚点运动、重力、阻尼、单向张力。
每圈约 33 次,事件间隔带确定性抖动。
1506.37 与 1760.85 Hz 两个有效模态。
1863.85 Hz 高通抑制低频机械位移。
传播、反射、损耗、管口辐射与反相耦合。
旋转 AM、32× 模态补偿与末端 tanh 软限幅。
竹蝉被视作二维质点,竹棒末端是移动锚点。绳松弛时张力严格为零;距离超过绳长后,弹性和径向阻尼共同产生回复力。
令锚点为 a,竹蝉位置为 x,相对向量 r = x − a,距离 d = ‖r‖。空气阻力作用于速度,重力向下,绳张力沿相对单位向量反向作用。
T=\begin{cases}\max(0,k(d-L)+c_rv_r),&d>L\\0,&d\le L\end{cases}\dot{\mathbf v}=\mathbf g-c_a\mathbf v-\frac{T}{m}\frac{\mathbf r}{\lVert\mathbf r\rVert},\qquad \dot{\mathbf x}=\mathbf v实现使用 `1/240 s` 固定子步,并把单帧推进限制在 `0.1 s`。页面休眠后恢复时,不会把整段停顿一次性注入弹簧。最大距离安全投影只负责阻止无界能量,不替代正常积分。
createPhysics() 和 stepPhysics()。拖动画布内的黄色锚点,观察绳松弛、张紧和能量衰减。松香接触连续经历粘住、积累、滑开与复位。模型不生成规则脉冲列,而用正值 log-normal renewal interval 保证事件不会倒序,同时保留约 25% 的间隔变异。
f_s=N_{\mathrm{turn}}\frac{|\omega|}{2\pi},\qquad N_{\mathrm{turn}}=32.9531\Delta t_n=\frac{1}{f_s}\exp(\mu+\sigma z_n),\qquad \sigma=\sqrt{\ln(1+\mathrm{CV}^2)}拟合状态下转速为 `2.367 r/s`,所以事件率约 `78 Hz`。每个事件不是单采样点击,而是短促的双极脉冲与确定性宽带摩擦底噪,共同激励后面的结构滤波器。
频谱形状由两个复数二阶膜面模态主导;小膜声辐射高通压住低频机械位移。另一条弱支路传播至竹筒口,并把有损往返反射的相位信息带回混合器。
实时实现把两条单位峰值带通作复数相加,归一化相对增益为 `1.00 : 0.54`;频率与 Q 使用最终拟合参数。
H_{BP}(f)=\frac{j(f/f_0)/Q}{1-(f/f_0)^2+j(f/f_0)/Q}麦克风观测的是空气压力,不是薄膜位移本身。把机械位移直接当声压,会产生不合理的 300–800 Hz 能量。实现先通过一阶高通:
H_{rad}(f)=\frac{jf/f_c}{1+jf/f_c},\qquad f_c=1863.85\,\mathrm{Hz}H_{tube}(f)=\frac{(1-R)e^{-j\omega L/c}}{1-R\alpha(f)e^{-j2\omega L/c}}\alpha(f)=\exp\left[-1.50\left(\frac{f}{4000}\right)^{1.2}\right]H_{hollow}=1+\kappa e^{j\phi}H_{mouth}H_{tube},\quad \kappa=0.45,\ \phi=\pi| 参数 | 数值 | 进入模型的位置 | 来源类型 |
|---|---|---|---|
membrane_f1 / q1 | 1506.37 Hz / 10.49 | 膜面模态 1 | 频谱曲线拟合 |
membrane_f2 / q2 | 1760.85 Hz / 10.62 | 膜—空气有效模态 2 | 频谱曲线拟合 |
radiation_fc | 1863.85 Hz | 膜面声辐射高通 | 频谱曲线拟合 |
tube_length | 108.86 mm | 一程与往返延迟 | hollow-profile 拟合 |
R / loss / κ | 0.40 / 1.50 / 0.45 | 反馈、损耗、管口混合 | hollow-profile 约束边界 |
mouth_fc | 429.96 Hz | 管口声辐射高通 | 频谱曲线拟合 |
下图直接计算报告里的复数传递函数。拖动竹筒长度、反射、损耗和耦合;开关辐射与 hollow path,观察低频抑制、峰间干涉和梳状相位着色。
竹蝉转动时,张力、姿态和声辐射方向共同改变接收响度。模型用一次与二次谐波 AM 表示这个慢包络,不把它混进 78 Hz 的粘滑事件。
M(\theta)=\operatorname{clamp}\left(\frac{1+0.66\cos\theta+0.35\cos(2\theta+0.55)}{2.01},0.08,1\right)结果进入稳定范围钳制,再用短时间常数平滑 AudioParam,避免每帧更新产生 zipper noise。拖动相位或点击播放,观察一圈中两个局部隆起如何叠加。
这个模型的目标是在浏览器预算内重建可控、连续、可替换的竹知了声学行为。报告明确记录哪些结论来自拟合,哪些来自物理约束,哪些仍需要听音或新的时域数据。
| 层 | 当前证据 | 可以声称 | 不能单独声称 |
|---|---|---|---|
| 膜面模态 | 300–7000 Hz 平滑频谱拟合 | 两个有效峰及 Q 与目标曲线一致 | 唯一真实材料参数或完整三维振型 |
| 低频辐射 | 加权曲线目标与高通模型 | 抑制此前 300–800 Hz 过量 | 精确膜面积或远场指向性 |
| 竹筒路径 | hollow feasible region + magnitude fit | 保留非零传播、反射和损耗 | 仅凭幅频证明唯一相位响应 |
| 实时损耗 | 三级一阶滤波近似 | 4 kHz 命中 −13.03 dB,反馈稳定 | 全频段精确等于分数幂衰减 |
| 响度与保护 | 完整激励 OfflineAudioContext QA | 默认约 −28.08 dBFS RMS;极限状态 0 clipped samples | 所有设备上的固定主观响度 |
| 听感 | 节点、离线 PCM、频谱与稳定性 QA | 技术链路按设计运行 | 替代真实设备、人耳与扬声器试听 |
竹知了飞起来的时候,这十条方程也一起转。