给程序员的乐理:从第一性原理用代码推出十二音与和弦
来源:runjs.app — runjs.app · 276 分 · by birdculture
📋 概述
RunJS 团队这篇文章从“声音不过是随时间变化的数字”出发,教你从零推导乐理:440Hz 的正弦波、包络、泛音列,进而解释为什么“简单整数比才悦耳”(3/2 五度、5/4 大三度),为什么倍频得到同一个音、一个八度要分成十二个半音,以及和弦、调式与记谱法本质上都是早已定下的“工程决策”。全程可用纯 JavaScript 在浏览器里跑通。
🔑 核心要点
- 声音是随时间变化的数字,一切从单个频率开始。
- 泛音列解释了音色,弦上同震的整数倍频决定了一件乐器听起来的“质感”。
- 音高是乘性的而非加性的,倍频产生同一音高(八度)。
- 简单整数比(如 3/2 五度)因为谐波大量重叠而更悦耳。
- 乐理本质上是在约束下做出的历史工程决策,而非需要死记的教条。
💡 金句
十二个音,是调和 2 的幂与 3 的幂后、用四舍五入的误差换来的答案。
👍 0
👎 0
← 返回 Hacker News 首页