Desmos中用hear the graph制作音乐时添加停顿的方法咨询
在Desmos「Hear the Graph」中添加无声停顿的实用方案
核心思路
Desmos的「Hear the Graph」按x轴对应时间、函数值对应频率播放,跳过无定义区间是默认行为。要实现停顿,必须让停顿区间对应人耳听不到但Desmos会正常处理的频率,而非直接留空或用极端值。
具体实现方法
1. 分段函数嵌入静音频率
用分段函数将停顿区间的频率设为远低于人耳听觉下限(<20Hz)的数值,比如0.1Hz,Desmos会播放这段频率但人耳无法感知,从而形成停顿。示例代码:
f(x) = \begin{cases} 440 & 0 \leq x < 1 \\ % 中央C上方A音,持续1秒 0.1 & 1 \leq x < 1.5 \\ % 0.1Hz静音段,持续0.5秒 523 & 1.5 \leq x < 2 % 中央C音,持续0.5秒 \end{cases}
2. 多函数拆分控制
把每个音符和停顿拆成独立函数,确保时间区间连续覆盖,Desmos会按x轴顺序播放所有可见函数的音频:
- 音符1:
f1(x) = 440 {0 ≤ x < 1} - 停顿段:
f_pause(x) = 0.1 {1 ≤ x < 1.5} - 音符2:
f2(x) = 523 {1.5 ≤ x < 2}
为什么之前的方法无效?
- 无定义区间:Desmos会直接跳过该段时间,不会产生停顿;
- 极高函数值:超出人耳听觉上限(>20kHz)后,Desmos会直接忽略该段音频输出,同样跳过时间,无法形成停顿。
注意事项
- 静音频率建议用0.1Hz而非0,部分Desmos版本对0频率会视为无效值跳过;
- 确保所有时间区间无缝衔接,避免出现空隙或重叠,保证播放节奏准确。
内容的提问来源于stack exchange,提问作者Sabin Levesque
相关产品推荐
相关产品推荐

