You are on page 1of 32

幸 忮代 铒 . 1 1 5 2 4

培夯 卖 堃 :
专 Jt 幸 乜

武 H f 汶


W U H A N C O N S E R V A T O R Y O F M U SI C

硕 士 学 位 论 文


M A S TE R D  I S 3 E RT AT 1 0H

论 文 趙 @ 酱 千 起 卢 孩 枵豸 铁 的 交 互 电 F g 乐 怍 f
i的


j ga ^ M 


T i ti e Q 〇 |
i  >l i

|t E a i t i i i f f i i oi ^ E Vd i ii i V t t
r 

t B i u Hr
f a m t < a J

 

作 者 姓 名黄 叉 钰 竽 号 2 0 i 8 1 7 0 8 Q7 4

学 科专 Jt g 术 ■
咅 乐 讣毖机 咅 乐

 /

砑 究 方 向 
汁 瘅枫 咅 乐 作 由 

指 导 教 柙 
岛坚 sy tg
f 

堉 养单 位  m& 

提夂 时 间 
20 2 1 年 4 月 S 曰 


培养类型 □学术学位 ☑专业学位

学 号 20181708074

基于超声波传感器的交互电子音乐作品的
设计与实现

黄文钰
学位论文独创性声明

本人郑重声明:所提交的学位论文《基于超声波传感器的交互电子音乐作品的设计与实现》

是本人在导师的指导下独立开展研究所取得的成果。本人严格遵守国家教育部颁布的《高等

学校哲学社会科学学术规范(试行)》,除文中已经注明引用的内容外,本文不含其他个人

或集体已经发表或撰写过的研究成果,也不含为获得武汉音乐学院或其它教育机构的学位证

书而使用过的材料。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人承担本声明的法律责任。

论文作者签名: 日 期: 2021年 4 月 6 日
导 师签名: 日 期: 2021年 4 月 6 日

学位论文使用授权书

本文作者完全了解武汉音乐学院有关保留使用学位论文的规定,即武汉音乐
学院有权保留向有关部门或机构送交本院硕士论文的复印件和磁盘,允许论文被
查阅和借阅。本人授权武汉音乐学院可以将学位论文的全部或部分内容编入有关
数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
(保密的学位论文在解密后使用本授权书)

论文作者签名: 日 期: 2021年 4 月 6 日
导 师签名: 日 期: 2021年 4 月 6 日
摘 要

科技日新月异,融入电子音乐中的各种新兴技术越来越多,形成了丰富多样的交互式电

子音乐形式。基于传感器创作的交互式电子音乐,已逐渐成为众多交互电子音乐的重要组成

部分。超声波传感器拥有精准的无接触式距离探测功能,能够及时完成输入输出的数据传输,

在实时交互上具有较大优势。本文将简单阐述超声波传感器的基本原理与实际应用,梳理交

互平台与传感器之间的发展脉络,研究超声波传感器在交互电子音乐作品中的应用价值。通

过设计与实现两首结合 Max/msp 与 Arduino 创作的交互式电子音乐作品,说明以超声波传感

器创作交互电子音乐时所具有的特点与存在的问题,为此类作品的创作提供一定的设计思路

及理论参考。

关键词:超声波传感器;交互式电子音乐;Max/msp;Arduino;
Abstract

With the rapid development of science and technology, more and more emerging

technologies are integrated into electronic music, forming a rich and diverse form of interactive

electronic music. Interactive electronic music based on sensors has gradually become an important

part of many interactive electronic music. Ultrasonic sensor has precise non-contact distance

detection function, which can timely complete the data transmission of input and output, and has a

great advantage in real-time interaction. This paper will briefly describe the basic principles and

practical applications of ultrasonic sensors, comb out the development context between the

interactive platform and sensors, and study the application value of ultrasonic sensors in

interactive electronic music works. Through the design and implementation of two interactive

electronic music works created by combining MAX/MSP and Arduino, the characteristics and

existing problems of creating interactive electronic music with ultrasonic sensors are explained,

providing certain design ideas and theoretical reference for the creation of such works.

Key words: Ultrasonic sensor Interactive electronic music Max/MSP Arduino


目录

引 言................................................................................................................................................... 1

一、 超声波的工作原理与通讯技术.............................................................................................. 2

(一) 超声波传感的工作原理...............................................................................................2

(二) 超声波传感的通讯技术...............................................................................................3

二、 交互平台概述........................................................................................................................... 5

(一) 关于 Max/MSP................................................................................................................ 5

(二) 关于 Arduino................................................................................................................ 6

1、 Arduino IDE............................................................................................................... 7

2、Arduino 开发板........................................................................................................... 8

三、 《海豚之声》的设计与实现................................................................................................ 10

(一) 创作思想与设计初衷.................................................................................................10

(二) Arduino 与超声波传感器模块的结合..................................................................... 10

(三) Max/Msp 中的核心软件模块搭建............................................................................. 12

小 结............................................................................................................................................... 15

四、 《竹》的设计与实现.............................................................................................................16

(一) 创作思路与设计初衷.................................................................................................16

(二) Arduino 软硬件的结合..............................................................................................17

(三) Max/Msp 中的核心软件模块搭建............................................................................. 19

小 结............................................................................................................................................... 22

结 语............................................................................................................................................... 23

参考文献........................................................................................................................................... 25

致 谢............................................................................................................................................... 24
引 言

交互式电子音乐是科技与艺术相结合的产物,具有融合艺术与技术于一身的显著跨学科

特征,其研究涉及艺术学、理学、工学等学科,范围包括作曲、程序语言及编码、人机交互、

音乐信息检索与感知、数字音频信号处理、数字乐器研发、物理建模、声音空间化及算法作

曲等方面。作曲家们可以通过各种技术手段实现声音的多样化与个性化,建立在不同媒介或

跨学科下的交互式电子音乐,以丰富的艺术表现形式,展现出更深层次的艺术内涵。

近年来,随着国内对交互式电子音乐的实例分析、技术探讨以及概念阐述等方面不断深

入,着眼于传感器技术的交互手段的实例作品搭建也逐渐增多。超声波传感器技术相比其他

技术具有结构简单,成本低的优点,更适合近距离测距。

本文将以传感器技术中的超声波传感器为主要切入点,结合 Max/msp 平台与 Arduino

平台的程序搭建所创作的交互式电子音乐作品,简单阐述超声波传感器在交互式音乐作品中

的设计与实现。分析此类作品在创作与表演中的各类特征,存在的问题与解决手段,为此类

作品的创作提供一定的理论支撑及参考。

1
一、超声波的工作原理与通讯技术

超声波传感器是将超声波信号转换成电信号的一种传感器,利用电晶体的压电效应与电

致伸缩效应完成电能与机械能的相互转换,从而实现测量参数的功能。超声波具有 20kHz

机械波的振动频率,其特点是频率高、方向性好等定向传播特点。超声波传感器的成本低、

体积小、可实现非接触测量,且不受到光线、颜色等因素的影响。随着学科交叉的深入研究
1
与飞速发展,超声波传感器技术逐渐被应用于更多的领域。

(一)超声波传感的工作原理

超声波技术在不同领域中的实际产品具有其各自的功能特点。目前,超声波测距共有声

波幅值检测法、相位检测法以及渡越时间法三种检测方法,本文采用的是渡越时间检测法。

选择由压电晶体组成的双探头即收发一体型的超声波传感器进行开发创作,它既可以将电能

转变成机械振荡从而产生超声波,也能将接收到的超声波转变成电能,所以具有发送器与接

收器:当超声波传感器的电压两极外加了电压后,将产生频率等于压电晶片的固有振荡频率

的脉冲信号,导致压电晶片共振并驱使共振板振动从而产生超声波,形成超声波发送器;两

极未施加电压时,共振板将引发压电晶片振动,完成机械振荡信号与电信号的转换,形成一

个超声波接收器。

其工作原理主要由图 1 中的四个部分构成:

发送端:通过振子(一般由陶瓷器制作而成的)振动从而产生超声波发射向物体。

接收端:接触到物体后发生的超声波产生回声并传输回接收端。

处理单元:判断接收器是否接收到超声波与回波的信号及其大小,来测量物体表面与传感器

的距离。

电源:超声波传感器通常采用外部直流电源供电,以便传感器可以稳定工作。

1
引自百度百科:https://baike.baidu.com/

2
图 1 工作原理图

(二) 超声波传感的通讯技术

型号 HC-SR04 US-015 US-100


工作温度 0℃-70℃ 0℃-70℃ -20℃-70℃
响应时间 US 级 US 级 US 级
测量精度 0.3cm+1% 0.1cm+1% 0.3cm+1%
测量范围 2CM-4M 2CM-4M 2CM-4.5M
连接模式 串口、GPIO 串口、GPIO 串口、GPIO
工作电压 DC 5V DC 5V DC 2.4V-5V
工作电流 15mA 2.2mA 2mA
触发信号 10uS 脉冲 10uS 脉冲 10uS 脉冲
回响信号 高电平脉冲 高电平脉冲 高电平脉冲
模块尺寸 45mm*20mm*1.2mm 45mm*20mm*1.2mm 45mm*20mm*1.6mm
表 1 常用型号参数表

以上三种传感器为目前应用较为广泛的型号,表中可以看出各项参数都基本一致,测量

精度为 us-015 最为精确,测量范围则是 us-100 最远,价格则是 HC-SR04 较为便宜。本文创

作的两首作品对测量范围的要求不高,《海豚之声》需要更精确的测量精度,采用 US-015;

《竹》则是在数量方面较多,所以选择性价比较高的 HC-SRO4。Us-015 与 HC-SRO4 都具有

VCC、GND、Trig、Echo 四个引脚。其中 VCC 为电压端口,使传感器在稳定的电压中保持正

常工作;GND 为接地端口,保证传感器在通电过程中与接入设备的电压安全;Trig 为输入端

口,接收其他设备中的信号;Echo 则为输出端,将信号输出至其他设备中。

3
图2 HC-SR04 超声波传感器

在与 Arduino 开发板连接时,通讯手段为:将 VCC、GND、Trig、Echo 四个引脚分别接

入开发板对应的端口,Trig 端设置为高电平的输出端并保持至少 10us,通电后的传感器将

以脉冲形式发出 8 个频率均为 40KHZ 脉冲信号的超声波后,转入接收状态,通过检测回波

信号判断前方是否存在物体。如有物体经过,反射的回声将信号传输到 Echo 端,Echo 端输

出高电平信号,并且测量超声波的行程时间。其实际距离等于超声波往返距离的一半,计算

公式为:距离=高电平时间×声速/2,声速约为 340m/s。整个通讯过程即超声波在发射超

声波的时将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。其

通讯过程的时序图如下:

图 3 通讯时序图

4
二、交互平台概述

随着学科交叉的不断深入发展,创作者们开始在传统与创新中寻找更多的方式,科学技

术结合到音乐创作中的艺术形式逐渐丰富。Max/MSP 与 Arduino 是交互式电子音乐中常见的

两个平台,因此,本章将简单介绍这两个平台。

(一)关于 Max/MSP

Max 是一种音乐和多媒体的视觉编程语言与开 Max 具有图形化编程功能,最早开发于

1985 年,IRCAM 公司的米勒·帕克特(Miller Puckette)研发出一款名为“The Patcher”

的交互设计软件平台。1989 年后开发出了第一代 Max/FTS(Faster Than Sound),最初的

本本为作曲家提供了图形界面,用于 Mac 计算机上创建交互式计算机音乐程序。

图 4 1985 年具有 MIDI 音符输出与 table 功能的 The Patcher 版本界面图

在当时的开发版本功能中,受制于计算机 CPU 运算速率还没发展到足以实时处理音频数

据的能力,Max 无法在软件中执行自己的实时声音合成,而是使用 MIDI 或类似协议将控制


2
消息发送到外部硬件合成器和采样器。1997 年,Miller Puckette 推出了音频拓展包“MSP”

即 Max Signal Processing。此后 Max 可以实时处理数字音频信号,以便用户可以在该平台

设计并搭建各种效果器与合成器。到了 1999 年,旧金山的软件公司 Cycling '74 将其收购

2
冯曦.弦乐器与计算机交互电子音乐系统构架研究[D].导师:庄曜.南京艺术学院,2019.

5
并进行商业化开发销售,并开发推出“Jitter”插件包,为 Max 提供实时影像处理、3D 图

形和矩阵运算能力。2008 年,由 Max、MSP、Jitter 三大模块构成的 Max5 问世,其中 Max

拥有处理数字及逻辑等功能,MSP 主要提供音频部分的处理,Jitter 则是在视频方面具有丰

富多样构件供创作者使用。该平台逐渐在交互电子音乐领域普及,时至今日仍为交互电子音

乐领域中契合度与使用率最高的交互设计平台。

图5 Max 8.0 版本示例图

除 Max 外,还有众多例如 Pure Data、Kyma、Csound 等交互设计平台。它们的开发与应

用为交互电子音乐创作提供极大的便利,帮助作曲家实现更多的创意和可能性,从而创作出

交互性更强、交互形式更广、交互艺术更深的作品,正不断地加深着交互电子音乐的发展手

段和交互形式。

(二)关于 Arduino

Arduino 为一种基于 C 语言并开放源代码的软件平台,包含硬件(各种型号的 Arduino

开发板)和软件(Arduino IDE)两个模块构成,于 2005 年在意大利问世。Arduino 作为开

源平台,采用知识共享协议,其软件编程源代码与硬件原理图示等都可以免费获取、修改与

发布。Arduino 能通过各种各样的传感器结合 Arduino 的编程语言来编写程序,编译成二进

制文件的程序,将其烧录至硬件开发板,完成如闪烁 LED 灯、流水灯、红外遥控、蓝牙遥控

等实验。Arduino 性能稳定,软件开源,开发者可以在 Arduino 官网下载各种开发者或官方

提供的库文件进行二次开发,与其结合使用的拓展硬件及开发板价格优惠、功能强大,能够

配合开发者进行更进一步的创作。基于 Arduino 的项目,可以仅使用 Arduino,也可以结合

其他的软件 ( Flash, Processing, MaxMSP)进行开发利用。

6
1、Arduino IDE

Arduino 单片机开源平台集成开发环境(IDE)软件发布于 2005 年,兼容 Linux、Windows、

MacOS 等系统。它可以通过较为方便的代码命令实现传感器等硬件与单片机的数据交换与功

能命令,将所有参数进行函数化设计,让作曲家们可以通过更简单的方式将各种硬件控制器

融入在交互电音音乐的创作中。Arduino 利用 Arduino 编程语言 (基于 Wiring)和 Arduino

开发环境(based on Processing)进行编程。其编程语言主要分为 Setup()函数与 Loop()

函数两个部分构成。Setup()函数用于系统的初始化、管脚模式的定义等模块,Loop()

函数则用于编写功能函数及启动 Arduino 的相关硬件。

图6 Arduino 1.8.12 版本界面图

图中上方为工具栏,可以通过此处完成加载文件、设置端口、加载协议等功能;右上方

为串口监视器,点击后可以监视与硬件连接后的实时数据传输;中间空白处为 Arduino 编程

模块的编辑区,开发者可以在此处进行编程;下方黑色区域为信息显示窗口,编程结束并上

传后可以在此处进行程序检查,如果错误的命令则会以红色高亮显示,无错误信息则会成功

上传;最下方则是 Arduino 与其他硬件的连接状态,以及输入输出的端口与串口的信息显示。

7
2、Arduino 开发板

超声波传感器在与编程软件连接过程中,需要结合 Arduino 的拓展硬件进行结合使用本

节将简要介绍超声传感器与载有 ESP8266 芯片的 D1 mini 以及 Arduino uno 两种拓展硬件。

Arduino uno 开发板:

Arduino 通常结合各种硬件控制器进行开发拓展使用,Arduino 开发板经过十多间的开

发创新,已经发展出 Arduino UNO、Arduino Mega2560、Arduino ProMini 众多型号,而 Arduino

UNO 开发板则是最常见也是使用频率最高的一种型号。它可以不断兼容各类传感器,令开发

者能够越来越方便的在其开源平台之上进行二次开发,应用于广泛的领域之中。鉴于超声波

的测距优势,以及 Arduino 开发板的开放性,因此本文将通过 Arduino 连接超声波进行交互

电子音乐作品创作。

图 7 Arduino UNO 接口图

如图所示,Arduino UNO 主要有以下几个部分构成:

1、Reset(复位键):初始化 Arduino UNO 中的所有数据。

2、USB 端口:Arduino UNO 连接计算机的端口,进行软件的程序上传,并完成供电工作。

3、数据端口:Digital 为 0-13 个数据传输的端口,Analog 为 A0-A5 的数据接入端口。

4、供电端口:DC 为外部电源供电,Power 为电压、GND 等供电端口。

D1 mini 开发板:

WeMos D1 Mini 为内置 ESP8266WIFI 芯片的 Arduino 开发板,结合 Arduino IDE 编程后

进行使用。它将 ESP8266WIFI 芯片中的各种功能通过图中的各个引脚引出,方便与其他硬件

进行连接及数据传输,使开发者使用起来更为简易方便。

8
图 8 WeMos D1 Mini 实物图

WeMos D1 Mini 带有 1 个 0-3.3V 的模拟数字转换器,ADC 引脚,11 个输入与输出端口,

通过 5v 电压及 1A 电流开关的电源进行供电工作。其特点是价格便宜、体积小、传输速率高,

相对与其他开发板在使用范围上更不受制于局限性。

ESP8266 为由上海乐鑫信息科技公司所开发的 WIFI IOT 控制芯片,具有完整的 TCP/IP

协议簇。ESP8266 的官网乐鑫科技中其参数显示为:具有 32-bit MCU & 2.4 GHz Wi-Fi,集

成 ESP8266 芯片,Xtensa® 32-bit LX6 单核处理器,时钟频率高达 160 MHz,天线端输出

功率为+19.5 dBm ,以确保良好的覆盖范围。睡眠电流小于 20 μA,适用于电池供电的可

穿戴电子设备。支持包括 UART,GPIO,I2S,I2C,SDIO,PWM,ADC 和 SPI 等协议。

图 9 Ai-Thinker 生产的内置 ESP8266 芯片的 ESP-01 模块

ESP8266 作为一种具有 WIFI 传输功能的芯片,将串口接收的数据通过 WIFI 的形式进行

数据输出。ESP8266 芯片具有集成度高、精度高、稳定性强等特点,具有很强的工作适应性。

支持 STA/AP/STA+AP 三种工作模式,相对其他种类的单片机,ESP8266 能耗更低,传输数据

更快、价格也更为便宜,本文侧重于超声波,在此对 Arduino 及其软硬件不作过多阐述。

9
三、《海豚之声》的设计与实现

(一)创作思想与设计初衷

物理中声音是由物体振动发生的,正在发声的物体叫做声源。物体在一秒钟之内振动的

次数叫做频率,单位是赫兹,字母 Hz。人的耳朵可以听到 20Hz-----20000Hz 的声音,而最

敏感的则是 1000Hz-----3000Hz 之间的声音。 海豚发出的是 20000Hz 以上的超声波,与超

声波传感器的工作原理同为根据反射回来的信号,判断目标的方位与实际距离。作品《海豚

之声》为基于超声波传感器连接 Arduino,结合 Max/MSP 平台中搭建的程序形成的实时交互

电子音乐作品。作品灵感来源于对超声波传感器的不断深入与了解后,将海豚之间交流的频

率结合超声波传感器构思而来。作品在设计阶段大致由以下几个部分构成:

1.创作方式:通过各类网站、文献资料,探索了解超声波传感器与交互电子音乐的艺术形式。

对比超声波传感器与其他传感器的优缺点,决定创作所需的软硬件。

2.表演形式:超声波传感器作为效果器的参数变化、拾取音源区间的范围、改变频率的大小

等控制端,通过手与超声波传感器的距离差异改变控制参数。

3.声音选材:通过对啤酒瓶的各类声音素材采样,采用开启啤酒瓶的蒸汽声、倒入碗中的咕

噜声、空啤酒瓶的不同音高吹奏声、瓶中装入不同水的摇晃声等素材。声音素材采样后剪辑

整理成音频乐段,形成实时交互电子音乐作品的声源。

4.程序搭建:开始搭建软件中的工程文件,将构思不断完善并研究实践。

(二) Arduino 与超声波传感器模块的结合

Arduino 软硬件结合可分为两部分:超声波传感器与 Arduino uno 开发板以及 Arduino

IDE 的连接;超声波传感器在 Arduino 中的通讯代码编辑。首先,要通过超声波传感器进行

传输,需要将其 Arduino uno 开发板进行接线连接。如下图所示,将超声波传感器以四根杜

邦线分别连接至 Arduino uno 开发板,其中 Trigpin 接入开发板的“2”号数据端口;Echopin

接入开发板的 “3”号数据端口;Gnd 接入开发板的 “Gnd”号电源端口;Ucc 接入开发板

的 “5v”电压端口,完成开发板与超声波传感器的硬件连接。其次将 Arduino uno 开发板

中的 USB 端口连接至电脑的 USB 端口,完成供电及数据传输的软硬件结合。

10
图 10 Arduino UNO 与超声波传感器接线图

在软硬件连接通讯成功后,需要对 Arduino 中超声波传感器的代码进行编辑,完成参

数设定。如下图所示,在最上方设置输出输出端口,然后设定读取最大与最小的有效范围,

并将比特率设置为 9600,以便数据在监视端口进行传输。在 loop 指令中,设置输入输出的

高低电频与延时参数,运用数学运算与“If”条件限定,将超声波传输的参数设定为 0-30

的实际范围,通过 50 毫秒的频率发送至监视窗口。编辑的代码上传后如信息显示窗口未出

现错误指令,则可通过超声波传感器改变监视窗口的数值距离,将数值距离输出到 Max 端口,

即可对 Max 中的参数进行有效控制。

图 11 超声波参数的设计程序

11
(三) Max/Msp 中的核心软件模块搭建

在 Max/MSP 工程文件搭建部分中,主要分为数据传输、音频设计、参数控制三个部分。

如图所示,本节将依次对以上几个部分进行简要叙述

数据端口
预设端口
频率端口

处理端口

音频端口

图 12《海豚之声》演示模式工程文件图

数据传输:想要实现超声波控制效果器及音频部分的参数,首先要设定数据的传输端口。

Arduino 可以通过 ADCII、MIDI、OSC 等协议与 Max 端进行通讯连接。其中可以使用有线串

口、无线蓝牙等模块进行通讯,由于作品的设计需要通过键盘预设改变控制端口,所以采用

本地串口的方式实现通讯功能。由图可看出,Serial 即为 Max 中的串口物件,后面的“C”

与“9600”分别是 Arduino 中的接入端口与接入波特率,需要选择正确的参数才可进行数据

传输。其上方为传输数据的频率,即将 Arduino 监视窗口的参数以 100 毫秒的频率传入 Max,

从而解决延迟的问题。下方则是函数换算模块,在接收到 Arduino 中的参数后将其转换为实

际所需数值。串口工程文件打包为演示界面中的“P Arduino”,端口连接后,即可实现 Max

端与 Arduino 端的数据传输,构成了图中的数据端口。

12
图 13 搭建数据传输模块

音频设计:整个音频部分分为粒子合成器模块与正弦波生成模块。粒子合成器的搭建借鉴于

Max 的官方网站 cycling74.com 中的开源工程社区。如下图所示,通过“buffer”、


“wavefrom”

等物件搭建读取音频文件的工程后,利用函数运算生成粒子振荡器。设置“Play”、“stop”、

“Resume”以及“ON”、“Off”等开关对音频文件进行控制。选择“slider”预设控制音

频文件的范围、声像、延续时间、音高变化等参数,形成一个具有粒子合成效果的音频模块。

加载预制音频后,连接数据传输部分即可通过传感器即键盘预设控制音频的变化。

图 14 粒子振荡器模块

粒子合成器控制的是啤酒瓶各种音色的采样文件,形成“海浪”的效果。另一方面,则

是通过正弦波的频率变化模拟“海豚”的音色,形成“复杂”与“纯粹”的对比。通过“Gswitch”

分别输出“50”与“10”,将下方接入“*10”后的结果连接频率设置为 440Hz“cycle”物

件便形成了正弦波的频率变化。在传感器输出数据不变的情况下,只需要通过“bang”改变

“Gswitch”的控制,便可以改变正弦波的频率。

13
图 15 《海豚之声》演示模式

参数控制:如图所示,在数据接收后利用数学运算将接收的参数设置为整数,再加上“IF”

条件限定为作品所需的实际参数,超声波传感器输出的数据可以形成更为精确的数值后,便

可连接音频部分进行效果实验。运算工程文件打包为演示界面中的“P Output”,构成了图

中的处理端口。

图 16 参数处理模块

为了便于对音频部分进行控制,除了超声波传感器的参数控制,本作品还设计了预设端

口。如图中所示,将 Arduino 输出端接入“send $”模块,将数值通过此模块进行输出,模

块上方设置键盘上 1-9 的“Key Select”数字信息,分别对应 massage 上方的“bang”。将

其当摁下 1-9 的任意键位即可发送对应的“bang”指令,即可触发音频部分各项参数的预设,

控制音频部分的参数变化。将预设工程文件打包为演示模式中的“P Switch 1-9”,下方接

入可视化窗口,摁下键盘上的数字后,窗口中的圆圈由空心转为实心,便于更直观的控制音

频部分的预设。在左边标注栏中显示:“1”为整个音频部分效果的总开关;“2”、“3”

对应音频部分的左右方位;“4”、“5”为音频部分的延续时间;“6”、“7”为音频部分

14
的左右声响;“8”、“9”为音频部分的音高转换。以上便是数据传输部分中的预设端口。

图 17 预设端口模块

导入啤酒瓶采样音频,结合键位预设与超声波传感器对作品进行演示。其中 B 键为 Granular

模块总开关,V 键为 Cycle 物件总开关,C 键为 Cycle 物件频率预设开关,空格键为采样音

频播放开关,1 键为采样音频静音开关,2-9 键分别为 Granular 模块中的音频截取位置、音

频持续时间、音频声相、音频移调的控制开关。通过改变超声波传感器与手掌的距离,即可

控制 Cycle 中的频率和 Granular 模块中的各种参数,利用键盘上的键位映射,达到控制各

项参数的开关的目的。所有的软硬件结合完成,完成作品的最终创作。

小 结

《海豚之声》通过完成超声波传感器在 Arduino 中参数设定、Max/MSP 中的音频、端口

连接、参数控制等模块的设计,实现了通过超声波传感器改变效果器及频率的参数,改变了

采样音声音效果,基本实现作品设计之初的各项要求。作品的创作过程整体比较顺利,仅

Arduino 中的代码编辑部分较为困难,可以通过 Arduino 中文官网或相关论坛寻找类似的库

文件进行二次开发。在进行实际演奏时,手掌上下起伏可以有效的控制声音的实时变化,并

通过键盘上的各种键位预设,切换控制端口。

由于首次将超声波传感器应用与交互式电子音乐,在设计与实验时仍有一些不足。比如

键盘预设切换频繁时比较繁琐;单个超声波传感器控制不了太多参数;选择串口连接具有一

定的局限性;超声波传感器的探测角度与探测距离也需要把握好,否则容易丢失数据。这些

问题在以后的创作与设计中将逐步改善,并结合新的交互技术、交互硬件形成更为全面的交

互式电子音乐作品。

15
四、《竹》的设计与实现

(一) 创作思路与设计初衷

《海豚之声》创作完成后,基于对超声波传感器的更进一步了解,作者尝试以其他的形

式结合超声波传感器进行扩展创作。在超声波传感器的数量、连接方式、交互手段等方面进

行了重新设计。《竹》为基于超声波传感器的八声道实时交互电子音乐作品,采用竹制乐器

中的竹笛作为声源。演奏员的前方放置三个超声波传感器,在演奏的同时通过超声波传感器

分别控制效果器的实时变化。在演奏员的周围布置八个由 D1MINI 模块与超声波传感器构成

一个八声道的环绕声,通过演奏员的移动改变声场的变化,意在营造竹林中四面八方传来的

各种动静。作品创作前期分为以下几个阶段:

1、创作方式:民族乐器,是中国传统音乐中的重要象征。本作品希望结合所学知识,

通过对民族乐器电子创作,探索传统与创新的有效融合。所以在对超声波传感器的研究过程

中,加入民族乐器的使用,通过演奏员在演奏过程中身体的移动,从而改变作品的声道变化

以及效果器的变化,形成一个八声道的实时乐器类交互作品。

2、乐器选择:《竹》为乐器类的实时交互电子音乐作品,在乐器选择上,由于演奏员

需要移动来改变声像变化,因此选择较为轻便的乐器。而在此类乐器中,竹笛具有高辨识度、

高便携性,高音量强度等方面优势,所以采用竹笛作为作品的主要演奏乐器。

3、演出形式:在演出过程中,必须考虑到超声波传感器的探测精度与探测有效距离,

以便演奏员设计一个能充分利用超声波传感器的空间。因此在 D1mini 模块与超声波传感器

连接后,分别放置在距离演奏员 1.5 米外的前后、左右、左前、右前、左后、右后八个方位,

使用板凳架空于离地 1 米左右的高度,方便有效探测演奏员的身体,并使用同等数量的迷你

充电宝解决 ESP8266 的供电工作。

4、程序搭建:完成了所有的前期准备,开始搭建程序,并结合软硬件不断调试。

16
(二) Arduino 软硬件的结合

Arduino 软硬件结合可分为两部分:超声波传感器与自带 ESP 8266 芯片的 D1mini 开发

板以及 Arduino 软件平台的连接;超声波传感器在 Arduino 中的通讯工程文件编辑。首先,

需要在 Arduino 软件平台 中载入带有 WIFI 通讯协议的 ESP8266 开发工具包。如图所示,在

Arduino 中 选 择 “ 文 件 ” 中 的 “ 首 选 项 ” , 找 到 附 加 开 发 板 管 理 器 地 址 , 将

http://arduino.esp8266.com/stable/package_esp8266com_index.json 这个 json 地址键

入下图所示红框的位置,点击“好”保存并重启 Arduino。

图 18 ESP8266 开发工具包网址加载

选择“工具”中的开发板管理器,打开开发板管理器界面,搜索“esp8266”出现如下

图所示的版本,选择安装。

图 19 开发板管理器

17
回到“工具”栏中选择开发板“NodeMCU 1.0(ESP-12E Module)”,将参数设置为下图所示,

即可保存并且重启 Arduino。

图 20 开发板选择

在上述部分完成后开始 Arduino 中代码的编辑。首先导入“ESP8266wifi”、“WifiUdp”

“OSCMessage”等库文件。“ESP8266wifi”:在图中的最上方,并设置好 WIFI 名称与密码,

以便烧入 D1 迷你中利用 WIFI 进行数据传输。随后设置好主机的 IP 地址与输入输出端口,

D1mini 部分的协议便编辑完毕。“WifiUdp”设置超声波与 D1mini 的收发端口,将超声波

的 Trigpin 与 Echopin 分别接入 D1mini 中的 D1、D2 两个端口,并设置两个浮点小数的变量

参数,最后设置 Udp 的本地端口与 pin 的收发端口。

图 21 超声波程序代码

18
最后设置超声波传感器的数据运算公式,如下图所示,低电平与高电平之间的时间设置,

将其换算成以 CM 为单位的距离等数据后,上传检查是否出现报错,如正常运行则保存,完

成程序的编写。

图 22 超声波程序代码

D1mini 开发板与超声波传感器的端口连接,以 Usb 接至电脑,将编写完成的程序烧录

至开发板中,便可以在监视窗口显示超声波传感器的数据,完成 Arduino 软硬件的结合。

(三)Max/Msp 中的核心软件模块搭建

从演示模式的工程文件中可以看出,在 Max/MSP 工程文件搭建部分中,主要分为数据传

输、音频设计、参数控制三个部分。其中在最下方的四个“P WIFI”物件,作为超声波传感

器与 Max 的数据传输,分别接入图上四个效果器,方便在演出时控制各个效果器的开关、改

变效果器的参数。而在左下方的八声道模块中,另外使用八个超声波对其进行控制,形成声

道的变化,最上方的四个效果器则是对乐器的演奏效果进行处理果。本节将依次对以上几个

部分进行简要叙述。

19
图 23 《竹》演示模式

数据传输:由于演出中演员需要随时走动,所以《竹》采用 WIFI 的方式连接超声波传感器。

如下图所示,创建“Udpreceive”物件以 WIFI 的连接方式 Arduino 与 Max,Arduino 中输出

端口为 9000 波特率,所以 MAX 接收端也应设置为 9000,OSC 协议的参数设置为“/d”,输入

端的基本模块构建完毕。本作品八声道与效果器的控制同为使用超声波传感器进行控制,在

搭建工程的时候便将此模块复制为 12 个不同参数的数据传输端口,其中 8 个单独作为八声

道的数据传输端口,其余四个作为效果器的数据传输端口。在八声道模块中,所需要的实际

距离参数已经在 Arduino 程序部分编写完成,无需再对输入的数据进行转换,而四个效果器

的数据则是需要通过数字公式运算,以及“IF”物件对数据进行加工处理,从而形成便于控

制效果器的有效参数。

图 24 数据传输端口

20
音频设计:整个音频设计分为八声道设计与效果器处理两个模块。在演出时,演奏员通过身

体的移动控制八声道的声响变化,因此需要解决八声道的程序模块设计。八声道的设计是通

过改变八个单声道扬声器的音量大小而形成的模拟声道。首先创建“nodes”物件创建可以

在 X 轴、Y 轴中显示节点,并计算两点之间距离的可视化八声道的参数设定,通过中间黄色

圆点的变化来改变参数的输出。随后接入至“unpack”物件,并在“unpack”物件中设置八

个输 出端口 连接八 个“atodb”物件 将输入 的线性 变化 的数据 转化为 分贝, 接入八 个

“live.gain~”中,通过输出不同的参数改变,控制每个声道的音量。在“live.gain~”下

方创建一个具有八个输入端口的“mc.pack~8”并互相连接,再搭载一个“mc.live.gain~”

作为总音量的控制输出至“mc.dca~”中,便完成了八声道设计的程序搭建。

图 25 八声道程序

效果器部分采用 IRM 公司的 GRM Tools 中的


“Freeze”与苹果公司的 AU 中的
“Bandpass”、

“Reverb”与“Delay”等效果器进行音频处理。在效果器的第四个输出端“Parameter index”

中输出一个“Massage”显示效果器变化时的参数通道与变化数值,得到对应的通道与数值

后,以“$1”、“$2”等形式写入“Massage”中,接入效果器的输入端口,便可以通过“$1”

的数据控效果器对应的通道。

参数控制:考虑到效果器在演奏过程中存在一种效果器或多种效果器同时使用的情况,直接

开关容易引起爆频、断点的问题,所以需要设计一个能达到开关作用却不影响演出过程的程

序。在每个效果器的输出端口分别连接一个“live.gain~”,在其上方创建“Gswitch”并

分别将 0 到-70 音量区间的 Massage 输出到“line”物件平滑的输出至“live.gain~”中。

最上方接入一个“toggle”物件,将不同效果器的首字母映射在键盘上对应的键位,摁下对

21
应的键位后,“line”可以平滑的将 0 到-70 或-70 到 0 两种参数变化输出至“live.gain~,

利用静音作为各个效果器的开关。为了更直观的了解效果器的运行状态,在“toggle”旁加

入“Textbutton”对信息进行自定义,当效果器处于关的状态时,显示“静音”(Freeze

显示未冻结),当效果器处于开的状态时,显示“未静音”(Freeze 显示冻结)。

图 26 效果器参数控制

麦克风分别连接至各个效果器与八声道中“live.gain~”的输出端口,效果器与八声道

中“live.gain~”的输入端口分别连接超声波传感器的输出端口,效果器的“live.gain~

输出端口与八声道中“live.gain~”的输入端口连接,便完成了所有数据、音频、参数的相

互连接。

小 结

本章节通过简单介绍《竹》的设计思路及软硬件结合,阐述了超声波传感器作为无接触

式交互手段控制声场及效果变化的实际应用。在程序搭建及加载库文件等方面进行了详细的

介绍,以便创作者在运用此类软硬件时能够提供一些参考借鉴。《竹》使用多个超声波传感

器结合 D1 MINI 形成了一个八声道的交互式电子音乐作品,在《海豚之声》的基础上对超声

波传感器的数量、摆放、参数等方面进行了调整,解决了一些问题,也更具有舞台表现力,

在表演形式及表演效果上也有了更进一部的提高。如观众看见演奏员的移动时声场也会随之

变化;WIFI 连接不受本地串口连接形式的限定;效果器的声音变化更为丰富;工程文件中

的参数及程序的控制更为方便等。需要注意的是,在创作初期应当提前考虑连接方式、型号、

数量、触发功能等方面的问题。

22
结 语

随着电子技术、传感器技术、人工智能技术等逐渐融入交互式电子音乐,交互式电子音

乐在作曲家们的深入研究形了更多类型。无论使用的交互手段与技术简单或复杂,其本质都

是服务于音乐本身。本文简要分析了超声波传感器的工作原理、通讯技术,结合两部作品的

设计与实现,对 Max/MSP 的通信、音频、控制等模块的程序搭建,Arduino 的编程命令、硬

件连接等进行了详细的论述。超声波传感器相比其他传感器具有众多优点:非接触式测量物

体、应用环境广泛、抗电磁干扰、性能稳定、价格实惠、体积精巧、实时数据传输等,同时

也存在一些不足:探测角度要求较高,稍有偏差便容易丢失数据,所以在使用过程中应当考

虑摆放的位置,否则存在探测盲区;探测距离有限,在创作交互式电子音乐时,如作品有超

过五米以上距离的场景设计,超声波传感器可能并不适用;探测范围有限,在被测物体没有

同时覆盖超声波传感器的发送端及接收端时,超声波传感器无法进行数据传输的工作,因此

在作品的前期设计与创作上,需要考虑使用何种交互手段。

此外,交互式电子音乐中还有太多值得研究的技术,本文仅针对超声波传感器这一技术

在两部交互式电子音乐作品的创作过程中进行研究与分析。两部作品在音乐方面与技术方面

仍需要进一步的完善,融入其他的技术与艺术形式,本人也将在今后的学习生涯中对它们进

行深入的研究及应用。

最后,希望本文能够为基于超声波传感器的交互式电子音乐在研究与创作中提供一些思

路,为电子音乐爱好者了解超声波技术应用于交互式电子音乐提供一定的理论支撑与价值参

考。

23
参考文献

[1]李方旭,马彬瀚,丁伟,赵静秋.基于 HC-SR04 超声波传感器的智能避障小车设计[J].科技

创新与应用,2016(34):26-27.

[2]吴瑞锐,朱晓峰,宋宗峰.基于 HC-SR04 多超声波避障技术[J].智库时

代,2020(03):281-283.

[3]孙潇. 基于 Arduino 和 Max/MSP 的“A 系”交互装置之设计与实现[D].武汉音乐学

院,2014.

[4]冯金硕. 2000-2015 年间交互音乐控制器创新路径与应用实践研究[D].中央音乐学

院,2017.

[5]冯曦.弦乐器与计算机交互电子音乐系统构架研究[D].导师:庄曜.南京艺术学院,2019.

[6]亓梦婕.可穿戴设备在交互音乐中的应用[J].演艺科技,2018,(05):1-6.

[7]王春明. 杰弗瑞·斯托莱特交互电子音乐作品研究[D].上海音乐学院,2014.

[8]李佳旺.基于 ESP8266 无线 WIFI 模块的交互装置作品的设计与实现[D].导师:冷岑松.

武汉音乐学院,2020.

[9]王俊.基于 Max/MSP 平台的流行风格打击乐应用程序设计[D].导师:冯坚.武汉音乐学

院,2018.

[10]李昕,袁方驰,李东勋.基于 Max/Msp/Jitter 的实时表情捕捉系统设计[J].数字技术与

应用,2016(01):147-149+151.

[11]朱晨欣. 电子音乐作品《琴·颂》的声音处理与交互手段解析[D].上海师范大学,2018.

[12] 王鹤霏. 声音的思考与呈现[D].中央音乐学院,2016.

[13]曹书敏. 基于智能可穿戴设备的人体动作识别与交互[D].中国科学技术大学,2020.

[14]王珊.体感交互技术在科普展示中的应用——以《万物有灵》体感交互装置为例[J].设

计,2020,33(07):32-34.

24
致 谢

时间飞逝,日月如梭。三年的研究生涯,即将在此刻画上一个句号。武汉音乐学院优良

的学术氛围及严谨的办学理念,鞭策我不断在专业领域上进行开拓探索。在此毕业之际,我

要感谢这些值得让我一生学习追随的老师们。

首先感谢我的导师冯坚副教授,三年前在繁重的教学与科研任务的情况下同意成为我的

研究生导师。三年来,冯老师在作品创作、理论研习、论文撰写以及生活中各个方面为我倾

注了大量的心血,1 号工作室的课堂除了学术还有欢声笑语。所有的成绩应该都归功于冯老

师的淳淳教导。在此,向我的导师冯坚副教授表示由衷的感谢!

感谢李鹏云副教授在算法作曲、幻听类电子音乐等作曲方面的细心培养,以及生活上对

我的关心与学术上的建议! 感谢冷岑松副教授在 Max/MSP 的课堂学习中对我的教导;感

谢李云鹏老师、杜啸虎老师、何井老师在专业知识上对我的指导与帮助!

感谢杨和平教授、周进教授、孟巫娜老师在考研期间对我的悉心指导与鼓励;感谢刘永

平教授、张璟教授、李金华教授以及各位研究生时期的老师们,在他们的课堂中,我获得了

受益匪浅的宝贵理论与创作精神!感谢武汉音乐学院,给我在作曲生涯的学习与探索的道路

上提供宝贵的平台与资源,非常感谢!

感谢我的家人朋友们!是他们在生活中、精神上、物质上给予最大程度的关心、照顾与

支持,让我能够无负担的顺利完成学业。

最后,谨对百忙之中抽出时间对我论文进行评审的专家与教授们表示衷心的感谢,辛苦

了!

25
26

You might also like