ABC 是一个 人类可读的 ascii 表示 的乐谱。 约翰钱伯斯发布了一个 历史简介 ABC 表示法,并且有一个 较新的历史 通过克里斯沃尔肖。
不像 音乐XML,旨在用于在乐谱编辑和演奏应用程序之间交换音乐,ABC 旨在由人类直接编辑。 我可以用 vim 在 ABC 中输入乐谱,这比在 GUI 乐谱编辑器中摆弄鼠标要快得多。 与其他格式不同,ABC 与版本控制(例如 git)配合得很好。 与 Latex 一样,您所看到的并不是您得到的。 但是符号很直观,学习曲线很短,而且好处很棒。
虽然经常被吹捧为民间音乐的标准,但它非常适合爵士乐主唱,并且 满分 以及。 一些 GUI 乐谱编辑器可以导入/导出 ABC 符号。 我用了 笔记编辑 用于 GUI 编辑器,直到它被上游放弃,但能够导出为 ABC。 这 结果 具有合理的人类可读性——让我继续用 ABC 符号进行编辑,并作为一个更完整的分数的例子。 学完本课后,您将能够将其转换为 PDF!
古代 4 世纪赞美诗
对于民谣示例,我们将使用中世纪时代的曲调对 4 世纪的赞美诗进行简单的编曲。 “O Lux Beata Trinitas”是本笃会的编辑们认为无疑是圣人的作品的十二首赞美诗之一 圣安布罗斯. 圣安布罗斯被兰斯的海内马尔在他的论文 De unâ et non trinâ Deitate, 857 中引用。 赞美诗网
这首赞美诗在格里高利圣歌时代仍然流行。 这里 您可以看到中世纪的记谱法并听到与今天一样具有历史意义的表演。
20世纪的诠释
中世纪的符号在赞美诗中更新为 更现代的符号,这是我们的出发点。 正如那些赞美诗所反映的那样,中世纪时期没有小节或小节线。
以下是ABC的基础知识:
- 注释是以 ‘%’ 开头的行。
- 以“中 C”开头的音符输入为 CDEFGABcdefgab。
- 跟随带有数字的音符将时间值乘以该数字。
- 尽可能将相邻的音符连接在一起。 这是空间重要的唯一方式。
- 括号用于将音符连在一起或连线。
- 曲调以 X: 1 开头,其中 1 是曲调编号。 一个文件中可以有多个曲调。 民间曲调经常被收集到一个文件中。 例如,我们可以将 St. Ambrose 的所有 12 部已知作品收集到一个名为“ambrose.abc”的文件中。
- 标题用 T 给出:
- 作曲家或来源用 C 给出:
- 键(默认为 C 大调)用 K 给出:
这是我们将曲调简单地转录为 ABC:
X: 1 T: O lux beata Trinitas C: Plainsong, Mode VIII K: D % Fedora Magazine example (AB) (AGFG) EFG (AB) (BA) A4 (AB) (AGFG) EFG (AB) (BA) A4 (AB) d (cd) B (AG) (AB) (AGF) F4 (GA) (AGFG) EFG (AB) (BA) A4
我们将在终端模拟器中完成我们的工作。 Enter 使用您最喜欢的文本编辑器(如果是猫,则加分)将上述内容转换为名为“lux.abc”的文件。
或者 下载lux.abc 与本课的所有曲调。 要格式化和查看它,我们需要 ghostscript、xreader 和 abcm2ps。 您可能已经在桌面上安装了 ghostscript 和 xreader(或其他 PDF 查看器),但再次询问也无妨。
$ sudo dnf install ghostscript xreader abcm2ps make
我让你安装 make 所以一个简单的 makefile 可以简化渲染:
.SUFFIXES: .abc .ps .pdf .mid .abc: abcm2ps $* .abc.pdf: abcm2ps $* ps2pdf Out.ps $*.pdf .abc.mid: abc2midi $*.abc -o $*.mid
Enter 或者 下载 作为一个名为“Makefile”的文件。 现在格式化并查看我们的曲调:
$ make lux.pdf $ xreader lux.pdf &
我让你在后台运行 xreader,所以你可以切换回你的终端。 每当 lux.pdf 更新时,Xreader 都会更新视图。 如果您只是在阅读本文,您还可以查看输出 这里.
添加歌词
歌词在它们伴随的曲调线下输入’w:’。 单词被连字符以显示音节如何与音符搭配。 使用“*”为最后一个音节使用附加音符。
在 lux.abc 文件中追加第二首曲子,与歌词相同的曲子:
X: 2 T: O lux beata Trinitas C: Words: St. Ambrose 4th century C: Plainsong, Mode VIII K: D % Fedora Magazine example (AB) (AGFG) EFG (AB) (BA) A4 w: O* lux*** be-a-ta trin-* ni-* tas, (AB) (AGFG) EFG (AB) (BA) A4 w: et* prin-*** ci-pa-lis U-* ni-* tas, (AB) d (cd) B (AG) (AB) (AGF) F4 w: i-* am sol* re-ce-* dit* i-*gne-us, (GA) (AGFG) EFG (AB) (BA) A4 w: in-* fun-*** de lu-men cor-*di-* bus.
现在’make lux.pdf’并在你的xreader窗口中查看结果。 两个曲调都呈现为 PDF。
添加措施
所以,历史真实性都很好,但我想制作一个现代版本。 现代耳朵的第一步是将曲调分成大小相等的小节。 我的耳朵说 7/8 是这首曲子的绝佳拍号。
M:7/8 指定默认米为 7/8
L: 1/8 指定默认音符长度为整个音符的 1/8。 这已经是默认设置,但现在已记录在案。
问:1/4=80 指定建议的速度:每分钟 80 个四分音符。
- 度量由“|”表示的条形线分隔。
- 会有多节经文,所以’:|’ 添加重复条形线。
- 最后的条形线是“||”,但我们在本示例中不使用它。
- 将歌词分成小节也是调试的好习惯,而不是依赖于自动分发。
- 请注意,可以添加额外的空格以提高可读性。
- 不需要排列条形线,但可以使其更具可读性。
这是带有小节线的第 3 调(附加到 lux.abc):
X: 3 T: O lux beata Trinitas (3) C: Words: St. Ambrose 4th century C: Plainsong, Mode VIII M: 7/8 L: 1/8 Q: 1/4=80 K: D % Fedora Magazine example z(AB) (AGFG) | EFG (AB) (BA) | A3-A4 | w: O* lux***|be-a-ta trin-* ni-*| tas, | z(AB) (AGFG) | EFG (AB) (BA)| A3-A4 | w: et* prin-***|ci-pa-lis U-* ni-*| tas, | (AB) d (cd) B (A |G) (AB) (AGF) F-| F7| w:i-* am sol* re-ce-|* dit* i-*gne-us,| * | z(GA) (AGFG) | EFG (AB) (BA) | A3-A4 :| w:in-* fun-***| de lu-men cor-*di-*|bus. |
低音线、和弦和诗句
现在我们开始在我们的解释中真正的背离。 首先,添加和弦以帮助从“铅板”进行即兴创作。 然后我们添加一条建议的低音线。
V:1 和 V:2 在音色之间切换。
- 和弦在曲调行中用双引号输入,并呈现在以下音符之上。
- 一个音符后的每个逗号将其降低一个八度。
C:也可用于文件编排和许可。
- 附加诗句被添加为一个曲调线下的附加歌词线。
- 可以通过使用“~”将经文编号添加到下一个带有不间断空格的单词中。 否则,它们将被视为单词。
%%MIDI 这些是下一节中使用的魔法注释!
这是我们本课的最后曲调:
X: 4 T: O lux beata Trinitas (4) C: Words: St. Ambrose 4th century C: Plainsong, Mode VIII C: Arranged: Stuart D. Gathman C: Copyright 2012: GeneratePress Commons Attribution-ShareAlike 2.0 M: 7/8 L: 1/8 Q: 1/4=80 K: D %%MIDI gchord c3c4 %%MIDI program 75 V:1 "D"z(AB) (AGFG) | "A7"EFG (AB) (BA) | "Dsus"A3-"D"A4 | w:i.~O* lux*** |be-a-ta trin-* ni-*| tas, | w:ii.~Te* ma-***|ne lau-dum car-*mi-*| ne, | w:iii.~De-* o***|Pa-tri sit glo-*ri-*| a, | V:2 D,3 A,2 A,2 | E,3 A,2 A,2 | D,3 A,2 A,2 | V:1 "D"z(AB) (AGFG) | "A7"EFG (AB) (BA) | "Dsus"A3-"D"A4 | w: et* prin-***|ci-pa-lis U-* ni-*| tas, | w: te* de-*** |pre-ce-mur ves-*pe-*|re: | w: ei-* us-*** |que so-li Fi-*li-*| o, | V:2 D,3 A,2 A,2 | E,3 A,2 A,2 | D,3 A,2 A,2 | V:1 "G"(AB) d (cd) B (A |"Em"G) (AB) (AGF) F-|"D"F7 | w: i-* am sol* re-ce-|* dit* i-*gne-us,| * | w: te* nos-tra* sup-plex|* glo-*ri-**a | * | w: cum* Spi-ri-*tu Pa-|* ra-*cli-**to, | * | V:2 G,3 B,2 B,2 | D,3 B,2 B,2 | D,3 A,2 A,2 | V:1 "A7"z(GA) (AGFG) | "A7"EFG (AB) (BA) | "Dsus"A3-"D"A4 :| w: in-* fun-*** | de lu-men cor-*di-*| bus. | w: per* cunc-*** | ta lau-det sae-*cu-*| la. | w: et* nunc,*** | et in per-pe-*tu-* | um | V:2 E,3 A,2 A,2 | C,3 A,2 A,2 | D,3 A,2 A,2 :|
渲染到 MIDI
渲染,使一个漂亮的铅板! 它听起来像什么? 您将需要 abc 到 MIDI 转换器和一个 MIDI 渲染器。 Fedora 带有许多 MIDI 合成器和渲染选项,但我们将使用 timidity – 一个简单的命令行实用程序,可以渲染音频文件或在您的扬声器上播放。
安装abcMIDI和胆怯:
$ sudo dnf install abcMIDI timidity++
如果您一直在学习这些示例,那么您在 lux.abc 中有 4 首曲子。 使用 abc2midi 实用程序将它们渲染为 MIDI:
$ abc2midi lux.abc
这将创建四个 midi 文件,每个曲调一个:lux1.mid .. lux4.mid。 使用胆怯将每个文件播放到您的扬声器:
$ timidity lux1.mid
当您演奏 ‘lux4.mid’ 时,您会听到 ‘%%MIDI’ 指令做了什么。 您可以阅读有关 abc2midi 及其指令的更多信息 这里. 你也可以听到我 唱歌和弹钢琴 从铅片和完全屠杀拉丁语。
ABC 的内容还有很多,但希望这是一个有趣的介绍! /usr/share/doc/abcm2ps/examples中有更多例子,查看 来自多种文化的民谣.