时间骨架
音乐里最先要懂的,不是音高,而是时间怎么流动。
Beat / 拍
拍,就是稳定的时间脉冲。
咚、咚、咚、咚你可以把它理解成程序里的时钟 tick。它不是具体内容,而是底层节奏网格。
Tempo / 速度 / BPM
速度表示这个时间脉冲有多快。
BPM = Beats Per Minute = 每分钟多少拍
拖动下面的滑块,感受不同速度的差异:
BPM 越高,整体越快。BPM 越低,整体越慢。
| BPM | 速度 | 每拍时长 |
|---|---|---|
| 60 | 很慢 | 1 秒 |
| 90 | 中等偏慢 | 0.67 秒 |
| 120 | 常见流行歌 | 0.5 秒 |
| 140 | 较快 | 0.43 秒 |
| 180 | 很快 | 0.33 秒 |
Meter / 拍号
拍号表示:拍怎么分组。
试试切换上面的拍号 — 感受 4/4 和 3/4 的不同分组方式。
4/4 — 最常见
- 每小节 4 拍
- 流行、摇滚、电子乐大多数用 4/4
1 2 3 4 | 1 2 3 4 | 1 2 3 43/4 — 华尔兹
- 每小节 3 拍
- 常有
强 弱 弱的感觉
1 2 3 | 1 2 3 | 1 2 3此阶段先不纠结复杂定义,先抓住"分组"就够了。
Bar / 小节
小节就是:按拍号分出来的时间容器。
| 1 2 3 4 | 1 2 3 4 | 1 2 3 4 |
第1小节 第2小节 第3小节所以:
- 拍 = 最底层脉冲
- 小节 = 按拍号组织后的分段容器
Duration / 时值
时值表示:一个音持续多久。
在 4/4 里,你可以先这样想:
| 名称 | 时值 | 占几拍 |
|---|---|---|
| 全音符 | 最长 | 4 拍(整个小节) |
| 二分音符 | 长 | 2 拍 |
| 四分音符 | 标准 | 1 拍 |
| 八分音符 | 短 | 半拍 |
| 十六分音符 | 更短 | 1/4 拍 |
本质都是:事件占了多长时间。
一个重要公式
小节数 = 总拍数 ÷ 每小节拍数
例如:60 BPM、4/4、总时长 1 分钟
- 1 分钟 = 60 拍
- 每小节 4 拍
- 60 ÷ 4 = 15 小节
注意:不是说 60 BPM 就一定是 15 小节。只有在"总时长为 1 分钟"时,才会是 15 小节。
用程序员视角理解
拍号 / 小节 / BPM → runtime / scheduler / grid
具体音符和节奏变化 → events / data / commands时间骨架是运行环境,音符内容是在这个环境里执行的事件。
下一步
→ 重复性 — 为什么稳定骨架上可以有无穷变化