Metlivi 博客

如何将钢琴旋律映射到音乐盒纸带的音高行和时间轴

要将钢琴旋律转录到纸带音乐盒上,请为每个音符标出两个坐标:经验证的音高行,以及它沿纸带开始的位置。将音乐节拍换算为一致的距离,用空白表示休止,并在冲出完整编曲前检查重复音符之间的间距。

本指南将带你从一段钢琴旋律制作出一条标记好、可供测试的纸带。示例中使用的音高和测量值仅用于说明;请替换为与你的装置相匹配的音列布局和尺寸。

2026年10月29日阅读时间:7 分钟作者:Metlivi Editorial Team
第 1 节

1. 确定每个音高行实际发出的音

准备好音乐盒、兼容的空白纸带、打孔器、尺子和旋律。确定纸带哪一端先进入装置,并标出音乐前进的方向。规划时,可以把纸带想象成水平放置:音高沿纸带的宽度排列,时间沿其长度推进。

每条音高线对应装置发出的一个音符,但印刷标注值得核实。Hanneke Debie 的 Music Box Guide 记录了部分 30 音纸带上印刷标签与实际发声音高不一致的情况。应将此视为核实你所用纸带的理由,而不要据此套用一种通用修正方法。Music Box Guide

制作一小段校准纸带,在几个已标明的音高行上分别打孔,各孔沿纸带长度方向留出较大的间距。将这些音与钢琴或音高参考进行比较。检查一个低音行、一个高音行,以及旋律所需的所有变化音行。如果实际发声音高与标签不符,请先确定后续会用到的完整对应关系。

为每个可用音高行记录三项信息:实际位置、印刷标签和经核实的发声音高。注明八度信息:两个标为 C 的行可能代表不同音高。始终以纸带的同一侧边缘为基准,这样纸带翻转后也不会颠倒测量方向。

第 2 节

2. 检查钢琴旋律是否适合现有音符

写下旋律中的每个不同音高,包括变化音和八度,并与经核实的音列对应表比较。只检查最高音和最低音并不够:旋律虽然整体音域合适,中间仍可能需要一个装置无法发出的音。

Darren Embry 的 15 音模板项目介绍了一种没有升降号的两八度布局。Tabor 则将其 30 音机芯描述为具有半音阶音域。这些都是特定布局,因此不能只凭音符数量代替实际的音高列表。music-box-paper、30-note DIY Music Box Movement

画孔之前,按以下顺序判断:

  1. 先尝试保留旋律原有音高。 确认每个音符都能找到对应的音高行。
  2. 如果所需音级都有,但音区不合适,尝试将整段旋律移高或移低一个八度。
  3. 如果另一个调更符合现有音列,尝试将整段旋律移调。 移调后重新检查每个音符。
  4. 仅在必要时有意调整个别音符,并先听听修改后的乐句,再决定是否采用。

例如,将一段用于说明的 D 大调旋律下移两个半音,会把 D–E–F♯–G–A 变成 C–D–E–F–G。只要所有音符的八度都合适,这或许能解决 F♯ 无对应音的问题。只把 F♯ 改为 F 会改变旋律中的音程;请将其记录为编曲上的选择。

第 3 节

3. 将旋律整理成音符事件清单

测量纸带之前,为每次新音符起音写下一条记录。每条记录都需要包含音高、起始拍数,以及用于计算后续位置的时值。这份清单将钢琴乐谱与打孔位置联系起来。

以下示例规定四分音符为一拍,第一拍的位置为 0。旋律占两个 4/4 小节。音高序列为原创示例,休止符则有意在第二小节前留出一段空白。

事件 音高或休止 起始拍数 时值(拍)
1 C5 0 1
2 D5 1 0.5
3 E5 1.5 0.5
4 G5 2 1
5 休止 3 1
6 G5 4 1
7 E5 5 1
8 D5 6 2

将前一音符的时值加到它的起始拍数上,即可算出下一个音符的起始拍数。因此,D5 从第 1 拍开始,E5 从第 1.5 拍开始,休止符从第 3 拍开始。第二小节从第 4 拍开始,乐句在第 8 拍结束。这种累加方法可以避免抄写时意外漏掉休止或较长的音符。

延音线连接的是同一个音符,不会产生新的起音。请将其记为一个时值包含延音部分的事件。真正的重复音符仍应记为独立事件,即使它们的音名相同。

第 4 节

4. 将节拍位置换算为纸带长度上的距离

确定每拍对应的固定距离,并将第一个音符放在进纸空白段之后。某事件从第 b 拍开始,其距纸带前端的距离 x 为:x = 第一个音符的偏移量 + b × 每拍距离。

举例来说,设第一个音符的偏移量为 30 mm,每个四分音符节拍对应 8 mm。这些数值仅用于示例,并非适用于所有音乐盒的规格。Embry 的特定 15 音模板记载了每拍 8 mm 的间距;采用之前,请先核实你自己的模板。music-box-paper dimensions

事件 起始拍数 距纸带前端的位置
C5 0 30 mm
D5 1 38 mm
E5 1.5 42 mm
G5 2 46 mm
休止开始;不打孔 3 54 mm
G5 4 62 mm
E5 5 70 mm
D5 6 78 mm
乐句结束;不打孔 8 94 mm

在这个示例时间轴中,四分音符之间的间隔为 8 mm,八分音符之间的间隔为 4 mm,每个 4/4 小节占 32 mm。若将一拍四分音符划分为三连音,对应间隔则为 8 ÷ 3 mm。请使用足够精度绘制,或使用合适的编辑器,不要反复对每个间隔取整,以免误差累积。

要找到另一个坐标,请查找该音高对应的行。假设经核实的音列对应表中,C5 对应第 8 行,D5 对应第 9 行,E5 对应第 10 行,G5 对应第 12 行。那么前三个打孔位置分别为:第 8 行、30 mm;第 9 行、38 mm;第 10 行、42 mm。这些行号仅为示例;请替换为经核实的实际位置。

第 5 节

5. 正确表示长音、休止和同时发声的音符

标准打孔纸带通过孔触发装置发声,但它不能像钢琴那样独立控制琴键的释放。Tabor 解释说,孔会启动齿轮来演奏音符。请使用清单中的时值来确定后续音符的起音位置,不要把每个时值都当作独立的孔形来处理。纸带机芯的工作原理

示例中最后一个 D5 持续两拍:在 78 mm 处打出起音,并将时间轴保留到第 94 mm 处的乐句结尾。不要为了填满第二拍而再打一个 D5 孔。同样,休止期间不打孔,但仍要在时间轴上保留相应距离。

如果选定的乐段中有同时发声的音符,请在各自的音高行上,将它们安排在相同的纵向位置。初次转录纯旋律时,先不把伴奏记入清单。待检查完伴奏的音高和间距后,再将其加入。

第 6 节

6. 检查重复音符之间的实际间距

某个音高出现在纸带上,并不意味着它可以在任意间距后再次触发。Tabor 解释说,装置需要复位后才能再次演奏同一个音符。Debie 的指南也区分了间隔很近的重复音符与快速连续演奏的不同音符。Tabor 对机芯限制的说明、Music Box Guide

对每个音高,比较该行上连续打孔的位置。在上述示例中,G5 分别位于 46 mm 和 62 mm 处,间距为 16 mm。这个间距是否可行,需要根据所选机芯或短段实物测试来核实;单靠计算只能得出距离。

一种实用的诊断方法是制作测试纸带:在同一行上打出几组孔,每组的间距各不相同且经过测量。记录哪些间距能让你的装置稳定地再次触发。根据测试结果,在长纸带打孔前找出编曲中可疑的重复音符。

如果一组重复音符的间距太近,可以增大编曲中音符的纵向间距,或有意修改乐句。增大间距也会增加在给定音乐速度下纸带所需的行进长度。单纯改变摇柄速度不会改变现有孔之间的距离。Musicboxmelodies 的文档列出了重复音符的警示区域,也介绍了通过调整打印长度来加大音符间距的方法。音乐盒编曲器使用方法

第 7 节

7. 转录、测试并诊断第一个乐句

标出小节线,然后根据清单中每个事件的音高行和纵向位置进行转录。打孔前,将每个标记与清单逐项核对。如果使用数字编曲器,请确认网格单位:Musicboxmelodies 说明其默认使用四分音符位置,并提供细分设置。编曲器网格说明

如果打印模板,请保持其实际尺寸。Tabor 建议关闭“适合页面”选项,以 100% 比例打印,并将打印出的线条与已知兼容的纸带进行比较。检查整个宽度上的对齐情况,不要只对准一行。打印指南

先只打孔并播放开头的乐句。根据错误表现进行诊断:

  • 音高始终与钢琴不符:重新核实实际发声音高、八度标记和所选编辑器的布局。
  • 个别音符音高错误:将这些孔与经核实的音高行对应表比较,并检查打印对齐情况。
  • 休止符附近的节奏丢失:检查累加后的拍数位置,以及是否保留了空白距离。
  • 重复音符没有发声:测量同一行上两孔的间距,并测试间距更大的版本。
  • 时间偏差逐渐加大:检查抄写或取整是否造成了累积测量误差。

确认乐句演奏符合预期后,使用同一份音符事件清单和坐标系统继续制作。将音高行对应表、节拍比例和小节标记与编曲一同保存。这样,你便能用可重复的方法扩展旋律、定位错误孔位,或转录其他乐段,而无需重新开始映射。

第 8 节

资料来源

相关阅读

继续探索这个主题