SpecEnvoy
EN·中文

音乐的语言

乐谱看起来像一门陌生的文字。其实不然——它只是把两件事画成一张图:一个声音有多高持续多久。本页从零开始讲解乐谱上的术语,每个概念都配有可以听、看、点的实时示例。

点击任意 或音符即可开启声音

01从这里开始:音乐是一张图

一份乐谱就是一张有两个坐标轴的图。从左到右是时间(越靠左的音越早)。从上到下是音高(在纸上越高=声音越高)。这就是全部要义。其余的一切,都只是在这张图上标记「点」和「跨度」的记号而已。

动起来的两个坐标轴

按下播放:一条线从左向右扫过(时间),圆点逐一升高(音高)。你会听到每一个。

02五线谱、音高与谱号

那五条横线叫做谱表(也就是五线谱)。音符落在线上或间里;坐得越高,声音越高。音符只用七个字母命名——A B C D E F G——然后循环。从一个字母到更高处同名字母的跨度,就是一个八度

最左边那个花体符号是谱号。它是这张地图的钥匙——告诉你哪条线代表哪个音。高音谱号用于高音乐器(小提琴、钢琴右手);低音谱号用于低音乐器(大提琴、左手)。在下方切换它,你会看到每个音符的名字都变了,而圆点却没有移动。

点击音符即可听到

下方孤零零挂在自己那条小短线上的音符,是中央 C——钢琴正中央的那个音,人人的地标。
每个音符都比前一个高一个字母名。

……换成键盘也是同一回事

白键就是纯字母 A–G。黑键是「夹在中间」的音。从任意一个键到紧挨着的下一个键(无论黑白)就是一个半音——西方音乐里最小的一步。十二个半音构成一个八度。
点击琴键——对应的音符会在上方五线谱上亮起。

03升号、降号与调

音符前的一个小记号会把它挪动半音。升号(♯)把它升高,降号(♭)把它降低,还原号(♮)则取消回到纯字母。(还有少见的重升、重降。)有个值得知道的小规矩:一个临时记号只在该小节内有效,过了小节线就复位——它是有作用域的,就像代码块里的变量。

升上去,降下来

同一个字母 D——听听升号和降号如何把它挪动半音。

与其在每个音符上都写升号,音乐把它们集中成一个调号——在开头写一次的一组升号或降号,全曲通用。各个调在一个叫五度圈的环上彼此关联:每走一步就多一个升号(或少一个降号),于是一个调可以用一个数字来存——0 是 C,往一个方向数升号 (+1…+7),往另一个方向数降号 (−1…−7)。在我们的代码里,这个数字就叫 fifths

五度圈

点击任意一个调。你会听到它的「主」和弦,并看到它有几个升号或降号——以及它的 fifths 值。
C 大调
没有升号,也没有降号
fifths = 0

04节奏与拍子

另一个坐标轴是时间。你会用脚打的那个稳定脉动就是;拍被竖直的小节线分组成一个个小节。开头那上下叠放的两个数字——拍号——表示每小节有几拍(上面的数字)、以哪种音符算一拍(下面的数字)。4/4 就是每小节四拍。

每个音符有多长?

音符的时值是「全」的简单分数。选一个,看它填满一个 4 拍的小节——并听听能装下几个。
四分音符:每个 1 拍,所以一个 4/4 小节里有 4 个。音符后面的附点会再加上它一半的时值(附点四分音符 = 1½ 拍)。

节拍器

每位音乐家练琴时都用的稳定时钟。每小节的第 1 拍会被重音标出(粉色)——你就是这样感觉到一个小节从哪里开始的。
速度96 BPM
每小节拍数:

人人都会搞混的一对:延音线 vs 圆滑线

它们都是弯弯的曲线,含义却完全不同——这会难住初学者(也曾难住我们的代码)。

延音线(tie)——把两个相同音高的音符连成一个更长的声音。你听到的是一个音,持续两段时值之和。它用来把音延续过小节线。

圆滑线(slur)——连接不同音高的音符,意思是「把它们平滑、连贯地奏出」(也就是连奏,对弦乐手而言是「一弓」)。你听到每一个音;没有谁被合并在一起。

把一拍再分:三连音

通常一拍会分成 2、4、8——都是 2 的幂。而三连音则把个均匀的音塞进同一拍里。两个都播一遍,感受它们的不同。
因为三连音落不到整齐的 2 的幂网格上,它是音乐文件里最难存储的东西——这也是为什么有些名曲(《月光》奏鸣曲通篇都是三连音)需要特殊处理。

05和弦、声部与织体

把音符一个接一个地奏出,就有了旋律——曲调。把音符在同一瞬间奏出,就有了和弦——和声。一次只有一条线是单声部(无伴奏小提琴);多条独立的线同时进行就是复调,而每一条独立的线叫一个声部

同样的三个音——先分开,再合在一起

C、E、G。先作为旋律,再叠成一个和弦。

两个声部同时进行

上方一条曲调,下方一条独立的低音线——这正是钢琴与弦乐四重奏写作的精髓。(这也是为什么钢琴需要两行谱表和大得多的引擎。)

06表现力:怎样演奏

圆点告诉你弹哪些音;一串意大利文词语告诉你怎样弹。正是这些术语,把「弹对」变成「弹得有音乐」。

速度 Tempo

BPM(每分钟拍数)计量。同一支小曲,快一点或慢一点。
速度100 BPM

力度 Dynamics — 多响

用字母标记:ppiano=弱)到 fforte=强)。在 MIDI 文件里,这是每个音符的一个数字,叫 velocity(力度值)(0–127)——「敲下去有多用力」。
弱 → 强mf · 80

演奏法 — 连奏 vs 断奏

连奏(legato)=平滑、连贯,音与音彼此流淌(这正是圆滑线的要求)。断奏(staccato)=短促、分离,每个音都被截短,前后留有气口。

装饰音 — 那些卷曲的小花样

点缀一个音的细小花饰。先听原音,再听它的每一种装饰。
颤音(trill):在本音与上方音之间快速摆动。波音(mordent):快速地向上一颤再回来。倚音(grace note):在主音前一挤而过的极短小音。(在 MIDI 文件里,这些会变成一堆极短的音符——就是那难以干净记谱的「音符尘」。)

还会听到的几个词

乐句 Phrase
音乐的「句子」——一串被塑造在一起、作为一个整体呼吸的音符。
弹性速度 Rubato
灵活、富于表现力的速度——轻轻地推进与放缓,而非刻板的钟表节奏。
揉弦 Vibrato
弦乐手用手为音符加上的、温暖的轻微音高波动。
声部平衡 Voicing
在键盘上,平衡一个和弦,让旋律音在其余音之上歌唱。
踏板 Pedal
钢琴的延音踏板——让音符在琴键松开后继续回响。
双音 Double stop
弦乐手同时拉奏两根弦,奏出两个音。

07乐曲的形态

一部大作品由一个个乐章构成——各自独立、各有其速度与情绪,就像一张专辑里的不同曲目。以下是填满我们时间线的那些曲名。

奏鸣曲 Sonata
为一件或两件乐器而作的多乐章作品(独奏钢琴,或小提琴+钢琴)。小奏鸣曲(sonatina)是其小型版本。
协奏曲 Concerto
独奏乐器与整个乐队相抗衡——独奏者的展示舞台。
交响曲 Symphony
为整个管弦乐队而作的大型多乐章作品。
弦乐四重奏 String quartet
经典的四件乐器:两把小提琴、一把中提琴和一把大提琴。我们的合奏模式正基于此。
组曲/帕蒂塔 Suite / Partita
同一调性上的一组舞曲乐章——加沃特、小步舞曲、萨拉班德、吉格——依次演奏。
前奏曲 Prelude
简短的引子性乐曲。巴赫写了 24 首——每个调各一首。
夜曲 Nocturne
抒情、如梦的「夜之乐曲」(想想肖邦)。
练习曲 Étude
为磨练某项技巧而写的「练习」——但最伟大的那些也是音乐会曲目。
回旋曲 Rondo
带有反复出现主题的曲式:A B A C A——主题不断回归。
艺术歌曲 Lied / Lieder
为人声与钢琴而作的德语艺术歌曲(舒伯特)。许多弦乐「改编曲」借用了艺术歌曲的旋律。
变奏曲 Variations
同一主题一次次以变化的方式重现。
间奏曲·小品·随想曲
都是短小而富于性格的独立乐曲的名称。

四个时期(大致)

巴洛克 约 1600–1750
巴赫、亨德尔、维瓦尔第。对位法、羽管键琴,以及键盘曲目的诞生。
古典主义 约 1750–1820
海顿、莫扎特、早期贝多芬。均衡与清晰;奏鸣曲与弦乐四重奏。
浪漫主义 约 1820–1900
肖邦、舒曼、勃拉姆斯、柴可夫斯基。浓烈的情感、现代钢琴、炫技大师。
印象派与近代 约 1890–1940
德彪西、萨蒂、拉赫玛尼诺夫。新的色彩与和声——公有领域的边缘。

解读作品编号

标题后面那些字母(BWV、K.、Op.……)只是稳定的 ID 号——通向某位作曲家作品目录的主键。点一个看看。
点一个标签,看看它是谁的作品目录。

08音乐 ↔ 代码 — 本站如何播放一份乐谱

如果你是做软件的,这些术语其实就是我们的文件格式与工具。印出来的乐谱、声音,以及跟随高亮,是同一份数据的三种视图。

流水线

源乐谱ABC 或 MusicXML 文本
Verovio制谱引擎
SVG印出的页面
MIDI声音
timemap连接二者

timemap 是连接的钥匙:它把每个音符在屏幕上的 id 映射到它发声的时刻,于是当音频时钟到达某个音符时,我们点亮它的圆点。这就是「跟随乐谱」。

一个音符,作为数据

点击一个音符。这大致就是它在 MIDI 文件里变成的样子——纯粹的数字。
音符
MIDI 编号
频率
力度值(响度)
起始 tick(PPQ 480)
MIDI
不是音频——而是一串事件:「音符 60 在 tick 0 开启,力度 80;在 480 关闭。」把演奏当作数据。
tick / PPQ
MIDI 的时钟。PPQ = 每四分音符的 tick 数——它的时间分辨率。拍数 = tick ÷ PPQ。
ABC
描述单谱表旋律的紧凑文本。很适合大提琴与小提琴;但无法表示钢琴的大谱表。
MusicXML
冗长的 XML,表示两行谱表、多声部与三连音——所以钢琴用它。
量化 quantize
把时值不整齐的音符对齐到规整的网格上。这就是三连音与装饰音棘手的原因——它们落不到网格上。
移调 transpose
给每个音高加上一个常数。八度移位就是 ±12——我们借此在乐器之间搬移旋律。

更喜欢简明的文字参考,并附「它如何在代码里坑过我们」的注记?请看音乐术语表。发现哪位大提琴家会皱眉的地方?它本就欢迎被指正、被补充。