SoundMat (8) 交互与声音化设计 Interaction and Sonification
声音化设计是 SoundMat 的灵魂。我们已经想好了产品哲学,设计好了结构、外观、传感器、硬件等等,但那些只是基础,是不完美产生的地方。声音化设计,也就是如何将石头、将观众的触摸按压转换为音乐,符合我们想象中的音乐艺术装置,是最棘手,最容易平庸的。
除此之外就是 LED 交互设计,这部分相对来说是锦上添花的,它起到两个功能,提示与反馈。用户通过 LED 的提示,能够明白当前的音乐进行到哪个阶段了,能够感受到当前音乐的氛围;反馈则是在用户与 SoundMat 交互后,除了听觉反馈,还能够得到 LED 的视觉反馈,这能够增加体验感和艺术感。
现实的硬件不是理想情况,会有误差和不精确的地方。在之前的硬件制造中,我们对整体“放置物品感应”的这部分现实效果有了更充分的了解:
- SoundMat 感应的分辨率是 8 ring * 16/32 slices 的 224 个小区域。我们能分辨哪个区域有物品,但是无法分辨这个区域有几个物品,无法分辨在这个小区域的哪个位置,无法分辨相邻区域的激活是有两个小物品还是一个大物品导致的。虽然说对于我们的石头大小,我们能保证石头与各区域较好的对应激活关系,但对于设计来说,过于细致的粒度会导致交互体验变差。
我们将在这个条件下完成交互与声音化设计。
1 生成音乐:自由度与反馈感的矛盾#
从设计理念开始,我们就不断强调,交互要简单直观,怎么放置都好听,但是依然能感受到参与感/反馈感。
“怎么放都好听 vs 参与感/反馈感”,这其实是一种矛盾。怎么放都好听意味着变化少,系统介入的成分大,而反馈感是来源于我对整个系统施加了某些影响,这是我控制的,不是系统帮助我的。
所以就有了自由度的两端:
- 自由度低:怎么放都好听,沉浸感强;但变化少,控制感弱,容易无聊
- 自由度高:反馈感强,变化多;但容易出错、出戏,需要音乐知识
推向极端就很好理解了,自由度高到尽头就是乐器。钢琴、吉他,变化极其丰富但是难上手;自由度低到尽头就是混音器,只是控制不同乐器播放与否,很容易无聊。
一个想法是设计不同模式应对不同场景。设计两种模式:
- 氛围模式 Ambient:自由度低,酒店大堂,提供氛围感
- 合奏模式 Jam:自由度高,允许不和谐,多人主动参与,更像乐器
2 控制思路:调控与生成#
这部分讨论音乐装置的两种控制思路。
调控是调整已有音乐的声音参数,例如一段音乐的音量、音色、高低频、速度等等。
生成则是对于每个操作都实时生成元素,例如演奏音符、打击乐、和声、音乐片段等等。
在 SoundMat,生成是绝对的主导。用户不是去调整别人已有的音乐,而是自己创造音乐。
3 交互方式:旋转扫描与音池#
对于 SoundMat,有两种交互思路。
旋转扫描:有一根虚拟的指针绕圆心旋转,碰到物体就触发音乐生成。一个圆的循环天然形成了一个 Loop,不同的角度就代表了一个 Loop 内的不同时间。放下石头代表了在乐谱中谱写了一个音乐元素。
音池 Sound Pool:一旦物体放下,就会持续触发对应位置的音乐生成机制;物体拿起,则停止。
4 音乐类型简介#
SoundMat (2) Philosophy 产品设计哲学 中有简单讨论过适合 SoundMat 的音乐类型。在这里详细阐述一下我们选用的音乐类型。
Ambient / Soundscape:作为公共艺术装置,使用 Ambient 类音乐可以让它成为可以被注意聆听,也可以被忽略的存在。
这里可大致分为两种,一种是音乐元素,一种是声景元素。音乐元素是有特定音高的,是乐器发出的或是电子合成的,受调性系统约束;声景则是在自然中采集的,是声音片段,不受调性约束。
Lo-Fi:Lo-fi 的特征是温暖的、带有颗粒感和不完美质感的声音,可以是 Loop 为基础的音乐风格,强节奏的,非常适合我们的节奏模式(旋转扫描)。同时,Lo-Fi 能提供很强的沉浸感。
Minimal:生成式极简音乐风格的代表音乐家有 Steve Reich 和 Philip Glass。音乐往往只建立在极简单的音乐元素上,例如几个简单的音符、和弦、动机。一个经典技法是相位渐变 (Phasing)与相位步进(Phase-Shifting),通过对相同音乐片段的不同声部使用不同速度,或在乐曲中改变相位,交织出全新的、错落有致的奇妙节奏,最后又重新同步,形成奇妙的听感。一个经典之作是《拍手音乐》(Clapping Music)
5 Ambient 氛围模式设计:声音的叙事#
氛围模式想达到的目标是:它的音乐可以被注意聆听,也可以被忽略。无论上面有多少个石头,音乐总是作为一种氛围存在,不会突兀,也不会空虚,就像为环境提供了一种背景色。
在我们的 Ambient Demo 中,形成了基本的雏形。从内到外代表低频到高频,总共八种音乐元素,不同扇区之间没有区别,同一个圆环上石头的数量可以调控该层的音乐内容。
Demo 中对于八种音乐元素的选择是最基础的,只是用五声音阶的 Drone 音、Pad、合成音符、合成雨声、合成水滴声,听起来确实还行,能达到我们目标的及格线。
但问题是,这太普通了吧!这做出来,一会加个低频,一会响点音符,一会加个鸟叫,然后加点铃铛。我玩完之后会觉得不错,然后呢?
我要的是艺术啊,所以我在想,能不能做一种“叙事的环境”,之前的那些元素没有联系,但如果有个环境叙事,里面有一整套连贯的有逻辑的音乐元素,就不普通了吧?
环境叙事让用户在放石头的过程中慢慢展开一个场景。我最想做的环境叙事就是日本寺院。除此之外,宇宙环境也很适合,因为我们的装置的形状刚好就是一组同心圆环。
环境音乐模式——《京都岚山》
底音
Locus Sonus – Locustream – sound map:yamanashi — yamanakako (Japan)
调性:
C 调五声音阶
Ring 0/Ring1:低音
- 触发:重鼓声 + 大梵钟声
- 持续:合成管风琴 Drone 音 + 呼吸感
**Ring 2:中低频
- 持续:和声片段,移调到对应调上
Ring 3:竹林火车
- 一颗石头
- 触发:走路声
- 持续:竹林风声 + 溪流声
- 两颗石头
- 触发:铁路警报声/踏切/叮叮叮
- 持续:更大的竹林风声 + 溪流声
- 三颗石头
- 触发:铁路警报声/踏切/叮叮叮 + 铁路声音片段
- 持续:更大的竹林风声 + 溪流声
Ring 4:天气,雨、雷
- 一颗石头
- 持续:小雨声
- 如果 Ring 3 激活:雨打竹叶 + 雨打水面
- 持续:小雨声
- 两颗石头
- 持续:中雨声 + 大风声
- 三颗石头
- 持续:大雨声 + 风声呼啸
- 效果器:开阔场景空间混响
- 四颗石头
- 持续:大雨声 + 雷声
- 效果器:开阔场景空间混响
Ring 5:【中高频乐音生成】
- 触发:合成马林巴
- 持续:随机马林巴
- 扇区角度对应音高,分为两半,0-15, 31-16 对称
Ring 6:旋律片段 Loop
- 持续:素材
Ring 7:事件
- 触发:素材
- 持续:随机触发素材
特殊 Pattern:
- 石头在各 Ring 上摆成一条链:乘坐岚山小火车
6 Jam Mode – Lo-Fi Loop#
和声和鼓点固定循环播放,只调控不生成。
旋律(包括Bass)采用旋转扫描方式生成。
6.1 节拍#
| 方案 | 拍号 | 和弦进行 Loop 长度 | 每个和弦持续 | SoundMat 一圈 | 32 扇区分辨率 | 每小节分辨率格数 | 量化后每小节分辨率格数 |
|---|---|---|---|---|---|---|---|
| 方案 1 | 4/4 | 4 小节 | 1 小节 | 4 小节 | 8 分音符 | 8 | 8 |
| 方案 2 | 4/4 | 8 小节 | 2 小节(重复一次) | 8 小节 | 4 分音符 | 4 | 4 |
| 方案 3 | 4/4 | 8 小节 | 2 小节(重复一次) | 2 小节 | 16 分音符 | 16 | 8 |
| 方案 4 | 4/4 | 4 小节 | 1 小节 | 2 小节 | 16 分音符 | 16 | 8 |
经过对比,选择方案 3。理由:重复和对比的平衡。触发时机相同→重复,触发音不同→对比。
默认速度暂定为 120bpm. (设计为参数可调)
这样,slice 0-15 是每个和弦的第一小节,slice 16-31 是每个和弦的第二小节。
例子:
第 1 小节 — Slice 0–15
| 拍位 | 1 | e | & | a | 2 | e | & | a | 3 | e | & | a | 4 | e | & | a |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Slice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
第 2 小节 — Slice 16–31
| 拍位 | 1 | e | & | a | 2 | e | & | a | 3 | e | & | a | 4 | e | & | a |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Slice | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0° 即为 slice 0,90° 为 slice 8,180° 为 slice 16
后续有处理量化,详见下文。
6.2 Ring 交互设计#
Ring 0/1 无角度,开始和结束控制,以及调控全局 Lo-Fi 效果
将 R0/R1 看作一个整体。R0+R1 全部格压力之和(原始 ADC)决定控制状态;单格 threshold(默认 500)判定该格是否有石头。
- 无控制石(压力之和 <
control_sum_min,默认 250):扫描线静止,全局 Reset;此时在 R2–R7 放石会立刻 preview 一声(默认音量 50%),并亮 LED 预览 - 有控制石(压力之和 ≥ 250):自动开拍,扫描线推进
- 控制石短暂消失(ADC 闪断):100ms 释放 hold 内仍视为有控制石,避免误 Reset
- 压力之和映射 Lo-Fi 0–1000(默认 sum ≤0 → 0,sum ≥ 1000 → 1000);越高越闷、越温暖、磁带颗粒感越强
- Lo-Fi 连续实时调控,不受扫描线影响(
cutoff+drive→jam_master) - Loop 播放中在外圈放石:可选立刻 preview(Control 页 Place preview 滑条,默认 25%;拖至 0 则关闭)
- 曲终(8 遍鼓序列播完)须清空 R0/R1 再放下,才能重新开始
部署默认与 Mat 页 Calibration 一致:threshold=500、control_sum_min=250、Lo-Fi sum max 1000(重启恢复默认,不持久化)。
Ring 4-6 旋律音
分为不同乐器
前向连奏(废除,不实现)
将一拍分为一组,一组 4 个触发音。每一格只存 一个触发音,扫线命中某格时,不只响这一格,而是从该格起在组内做随机前向连发(所以扫中一格时可能会有 1-4 个音符响起),各音连奏。
连发不得越过当前组末尾。若同环、同组内、当前格下游还有石头,连发在碰到该石之前提前截止。
实际上,可以将前向连奏设计为参数,即最大连奏数,范围 1-4,1即为不连奏。
每小节旋律量化至 8 个八分音符触发位(两倍量化,二合一,八分音符,奇数slice向下合并到偶数,触发时机也合并至偶数,例如 slice1功能上相当于slice0,触发时机也在 slice0处触发)。
Ring 2/3 Bass 旋律音
Bass 声部同样量化至 8 个触发位(两倍量化,二合一,八分音符量化)。
Ring 命名与定位
| Ring | 角色 | 音色 |
|---|---|---|
| R7(最外) | 旋律 | Marimba |
| R6 | 旋律 | Lo-Fi 电钢 |
| R5 | 旋律 | Lo-Fi 电钢 |
| R4 | 旋律 | Pad-Pluck |
| R3 | Bass | Pluck bass |
| R2(最内) | BASS | Sub bass |
6.3 和声/和弦进行#
音高记号
数字 1–7 表示当前 key 音阶的音级(首调,不绑定固定音高)。
升降写在数字后:# 升半音,b 降半音。
八度写在最后:^ 升一八度,_ 降一八度,可叠加(^^ / __)。无八度记号 = 第 4 八度。
顺序固定:数字 → 升降 → 八度,例如 1#^。
null = 和上一个相同。
例(C 大调):
| 记号 | 实际音 |
|---|---|
1 | C4 |
1# | C#4 |
1^ | C5 |
1#^ | C#5 |
6__ | A2 |
4b_ | E3 |
转调:改 manifest 的 [music].key,所有记号自动跟着 key 的根音平移。例:1^ 在 C 调下是 C5,key 改成 B 后变为 B4。整首曲子的旋律、bass、和弦 voicing 一致移调。
| 序号 | 级数 / 和弦循环 |
|---|---|
| 1 | 2m9 → 513 → 1maj9 → 69 |
| 1B | 2m9 → 2m9/5, 57b9 → 1maj9 → 16, 1#dim |
| 1C | 2m9 → 59 → 3m7 → 67 |
和弦 1 播放音
2m9: 2_ · 4_ · 6_ · 1 · 3
513: 5__ · 2_ · 4_ · 7_ · 3
1maj9: 1_ · 3_ · 5_ · 7_ · 2
69: 6__ · 3_ · 5_ · 7_ · 1#
Prototype 先实现和声 1.
6.4 旋律触发音#
设计思路:
1,3 拍相同,都为构成音去掉根音,放到旋律里,相邻和弦同一 Ring 就进链接。
BASS 就用根音。
2,4 拍
和声 1 触发音:
和弦 1:2m9
(2 4 6 1^ 3^)
| Ring | 1 | & | 2 | & | 3 | & | 4 | & |
|---|---|---|---|---|---|---|---|---|
| 扇区 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| R7 | 3^ | 1^ | 2^ | 3^ | 3^ | 2^ | 1^ | 6 |
| R6 | 1^ | 5 | 6 | 1^ | 1^ | 5 | 6 | 3^ |
| R5 | 6 | 3 | 4 | 6 | 6 | 4 | 3 | 2 |
| R4 | 4 | 3 | 2 | 3 | 4 | 3 | 2 | 3 |
| R3 bass | 4_ | 4_ | 6_ | 6_ | 4_ | 4_ | 6_ | 6_ |
| R2 BASS | 2_ | 2_ | 2_ | 2_ | 2_ | 2_ | 2_ | 2_ |
和弦 2:513
(5_ 7_ 2 4 6 1^ 3^)
| Ring | 1 | & | 2 | & | 3 | & | 4 | & |
|---|---|---|---|---|---|---|---|---|
| 扇区 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| R7 | 3^ | 1^ | 2^ | 3^ | 3^ | 2^ | 1^ | 5 |
| R6 | 7 | 5 | 6 | 7 | 7 | 5 | 6 | 5 |
| R5 | 5 | 2 | 3 | 5 | 5 | 3 | 2 | 7_ |
| R4 | 2 | 3 | 1 | 2 | 2 | 3 | 7_ | 1 |
| R3 bass | 4_ | 4_ | 5_ | 5_ | 4_ | 4_ | 5_ | 5_ |
| R2 BASS | 5__ | 5__ | 5__ | 5__ | 5__ | 5__ | 5__ | 5_ |
和弦 3:1maj9
(1 3 5 7 2^)
| Ring | 1 | & | 2 | & | 3 | & | 4 | & |
|---|---|---|---|---|---|---|---|---|
| 扇区 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| R7 | 2^ | 7 | 1^ | 2^ | 2^ | 1^ | 3^ | 5 |
| R6 | 7 | 6 | 5 | 6 | 7 | 6 | 5 | 3 |
| R5 | 5 | 2 | 3 | 5 | 5 | 3 | 2 | 1 |
| R4 | 3 | 2 | 1 | 3 | 3 | 1 | 7_ | 1 |
| R3 bass | 3_ | 3_ | 5_ | 5_ | 3_ | 3_ | 5_ | 5_ |
| R2 BASS | 1_ | 1_ | 1_ | 1_ | 1_ | 1_ | 1_ | 1_ |
和弦 4:69
(6_ 1# 3 5 7)
| Ring | 1 | & | 2 | & | 3 | & | 4 | & |
|---|---|---|---|---|---|---|---|---|
| 扇区 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| R7 | 1#^ | 2^ | 3^ | 2^ | 1#^ | 2^ | 3^ | 1#^ |
| R6 | 6 | 3 | 5 | 6 | 6 | 5 | 3 | 6_ |
| R5 | 5 | 2 | 3 | 5 | 5 | 3 | 2 | 1# |
| R4 | 3 | 2 | 1# | 2 | 3 | 2 | 1# | 3 |
| R3 bass | 3_ | 3_ | 5_ | 5_ | 3_ | 3_ | 5_ | 5_ |
| R2 BASS | 6__ | 6__ | 6__ | 6__ | 6__ | 6__ | 6__ | 6__ |
6.5 鼓组#
X = 强击,x = 幽灵音/轻击。
Loop A:空
Loop B
| 乐器 | 1 | e | & | a | 2 | e | & | a | 3 | e | & | a | 4 | e | & | a |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kick | X | |||||||||||||||
| Snare | ||||||||||||||||
| Hi-hat | X | X | X | X | X | X | X | X |
Loop C
| 乐器 | 1 | e | & | a | 2 | e | & | a | 3 | e | & | a | 4 | e | & | a |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kick | X | X | ||||||||||||||
| Snare | X | X | ||||||||||||||
| Hi-hat | X | X | X | X | X | X | X | X |
Loop D
| 乐器 | 1 | e | & | a | 2 | e | & | a | 3 | e | & | a | 4 | e | & | a |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kick | X | x | x | X | ||||||||||||
| Snare | X | X | ||||||||||||||
| Hi-hat | X | X | X | X | X | x | X | X | X | x |
两种思路:
- 固定遍数
- 方案 1 节拍(4bar):A×1→B×1→C×2→A×2→D×2→A×2
- 方案 3 节拍(2bar):A×1→B×1→C×2→A×1→D×1→A×1
- 根据物体数量决定 ABCD
我们采用固定遍数,A×1→B×1→C×2→A×1→D×2→A×1
结束之后扫描停、和声/鼓不再推进,须清空 R0/R1 才能重开。
和声与鼓组均实时合成(非采样),同扇区多石力度按 1/√N 衰减。
6.6 Jam LED 方案#
108 颗灯等距围成一圈,与 32 扇区旋律格对齐。本文只描述亮灭与颜色,不涉及实现。
布局#
- #0 在 12 点;编号沿顺时针递增(0 → 107 → 0)。
- 扇区
n的中心 LED:round(n ÷ 32 × 108) mod 108。 - 建议刷新 ≥ 60 Hz,每帧输出 108 路 RGB。
颜色(RGB 0–255)#
| 名称 | R | G | B | 用于 |
|---|---|---|---|---|
| 白 | 255 | 255 | 255 | 空闲呼吸、扫描尾迹 |
| 正红 | 255 | 48 | 48 | 12 点卡位 #0 |
| 淡红 | 255 | 140 | 140 | 东/南/西卡位 #27 #54 #81 |
| R0 | 100 | 108 | 128 | 传输(预览/命中/标记一般不用) |
| R1 | 148 | 112 | 88 | 传输 |
| R2 | 88 | 72 | 210 | 低音 |
| R3 | 32 | 188 | 148 | 低音 |
| R4 | 48 | 152 | 255 | 旋律 |
| R5 | 200 | 72 | 168 | 旋律 |
| R6 | 218 | 158 | 48 | 旋律 |
| R7 | 255 | 108 | 32 | 旋律 |
方位卡位#
固定 LED #0、#27、#54、#81(北/东/南/西)。呼吸周期约 4.6 s(sin(t×1.35))。
- #0:正红;#27 / #54 / #81:淡红
- 所有状态(空闲、播放中、播完):四卡位统一红呼吸,opacity 75%~100%(相对该色峰值)
- 非卡位:仅在空闲时有全环暗白呼吸 0–20(RGB);播放中 / 播完无环境白场
逻辑 ↔ 物理对齐(Mat 页 Calibration,默认):sector_offset=4(S→L 逻辑 sector 旋转)、led_offset=101(灯带物理旋转,在 set_buffer 时统一施加)、wire_slice_mirror=开(列镜像,对齐实物顺时针与软件 CW sector)。LED #0 与 slice 0 通过上述 offset 对齐,不再「未测量」。
模式#
优先级自上而下;满足上条即采用,不再落入下条。
- 播完 — 一曲结束且未在播:除四个卡位外全灭;卡位仍为正红/淡红呼吸。收走 R0/R1 或重置后退出此态。
- 播放 — 正在播:无全环环境呼吸;无效果的灯不亮;仅白色扫描尾迹、R2–R7 石头淡标记、卡位红呼吸。R0/R1 放上会自动开拍。
- 空闲 — 未在播且未播完:非卡位全环暗白呼吸 0–20;四卡位红呼吸 75%~100%(含仅摆旋律石、尚未达到 control sum 时)。
播放中#
扫描(白)
- 仅扫描头后方发光,前方不亮;头随顺时针推进。
- 相对扫描头的落后颗数 0~10 的亮度比例:1.00 · 0.75 · 0.40 · 0.30 · 0.22 · 0.15 · 0.10 · 0.06 · 0.03 · 0.01 · 0。
- 无扫描、无石头、非卡位:不亮。
石头标记(R2–R7)
- 每个石头:扇区中心 LED 及左右各 1 颗(约 3 颗),叠对应 Ring 色(约 22% opacity × 55% mix 叠在白底上)
短效#
预览(R2–R7 放石)
- 空闲:扇区中心 ±2 颗,Ring 色,100% 亮度,1000 ms 余弦渐灭;对应单音 preview(默认 50% 音量)
- Loop 播放中(Place preview > 0):同上 LED 预览 + 立刻响一声(默认 25% 音量),并标记已触发避免扫描重复
扫描命中(播放中扫到石头)
- 扇区中心及沿顺时针编号 +1、0、−1、−2 共 4 颗(不含 +2),Ring 色,总 180 ms(约 10 ms 起、至 50 ms 保持、随后平方衰减)。
- 亮度:100%(中心)· 82%(±1)· 52%(−2)。
- 与扫描白光合成取更亮一侧,不压暗、不挖空尾迹;与垫子是否显示扫描线无关。
播完态不叠预览;未播放时不产生命中闪。
合成顺序#
对每一颗 LED 每帧:先定模式基底 → 再叠预览(若有)→ 再叠命中(若有,与基底取更亮)。卡位在播放与播完时仍按红呼吸规则覆盖同索引其它效果。
音色与效果器表#
见 Web Demo
src/soundmat/jam/synths
初版触发音(废除)
节拍 1 2 3 4 和弦 2m9 513 1maj9 69 1 3 4 6 1^ 3^ 3 4 6 7 3^ 2 3 6 7 2^ 3 5 7 1#^ 2 1& 2 1^ 2^ 3^ 4^ 1 2 5 1^ 4^ 3 4 7 1^ 3^ 1# 3 6 2^ 3^ 2 1 4 6 1^ 3^ 4 5 7 2^ 3^ 2 5 6 7 2^ 7_ 4 5 7 1#^ 2& 2 6 1^ 3^ 4^ 2 3 5 1^ 4^ 3 4 7 2^ 3^ 1# 3 6 1#^ 2^ 3 3 4 6 1^ 3^ 3 4 6 7 3^ 2 3 6 7 2^ 3 5 7 1#^ 2 3& 5 6 1^ 6 2^ 1 3 5 1^ 2^ 1 2 5 6 1^ 1# 3 5 6 1#^ 4 3 4 6 1^ 1^ 7_ 2 4 7 1^ 7_ 1 3 5 7 6_ 3 6 1#^ 3^ 4& 1 3 4 3^ 6 5_ 1 2 4 5 1 7_ 2 3 5 5_ 1# 3 6 1#^ 表中每五个数字都对应 ring3-ring7 对应节拍的触发音符