樊嘉琳
摘 要:随着生活水平的提高,人们对于音乐的兴趣愈发凸显出来,人人都希望通过音乐来表达自己的情绪,但唱歌、演奏乐器对身体条件、经济条件、时间成本要求较高。因此,“动作识别处理改变音乐播放的技术”(在此我们称之为“模拟指挥”)有很大的需求和价值。此技术使得任何人都可以根据自己的理解,改变乐曲的进行。本文论述了动作识别技术的原理发展以及实践应用的探索和在实现“模拟指挥”的Max/MSP程序设计中出现的问题、不同的解决方式以及不同解决方式的优缺点。
关键词: “模拟指挥” 数据分析 动作识别 Max/MSP程序
Research on the Influence of Motion Capture on Music Processing
FAN Jialin
(Shanghai SUNRAY Creative Design Co., Ltd.,Shanghai,200000 China)
Abstract:With the improvement of living standards, people show more and more interest in music. Everyone hopes to express their emotions through music, but singing and playing musical instruments have higher requirements for physical conditions, economic conditions and time cost. Therefore, "the technology of motion capture to change music processing " (here we call it "simulated conduct") has great demand and value. This technology enables anyone to change the processing of music according to their own understanding. This paper discusses the principle development and practical application of motion capture technology, the problems in the max / MSP program design of "simulated conduct", different solutions, and the advantages and disadvantages of different solutions.
Key Words: Imitate conduct;Date analyze;Motion capture;Max/MSP program
随着科技发展,以及音乐与科技日益密切的结合,动作捕捉技术已将不再局限于利用动作进行音乐触发的交互实验,而还可以对音乐的各个方面进行实时处理(如播放速度、音量等),这也是交互式电子音乐[1]的其中一种表现形式。正文部分将对在Max/Msp中进行基础MIDI播放、动作识别技术对音乐速度的改变,进行原理上的分解,并且介绍这些技术在“模拟指挥”作品中的应用。
1 运动捕捉技术
1.1 运动捕捉技术简介
運动捕捉[2]的实质就是要测量、跟踪、记录物体在三维空间中的运动轨迹。运动捕捉可以用于测量尺寸、物体的定位和方位、运动速度、加速度等方面,在传感器识别捕捉动作后,将这些动作转化为可以用计算机进行分析处理的各种数据,如长度、速度、加速度等等。
1.2 运动捕捉技术的原理分类
1.2.1 机械式运动捕捉
依靠机械装置来跟踪和测量运动轨迹,把想要捕捉的物体和机械结结构连接,物体运动带动机械装置,使运动实时记录下来。这种方式成本低,精度也较高,但是使用很不方便。
1.2.2 光学式运动捕捉
对于空间中的一个点,只要它能同时为两部相机所见,则根据同一时刻两部相机所拍摄的图像和参数,可以确定这一时刻该点在空间中的位置。当相机以足够高的速率连续拍摄时,从图像序列中就可以得到该点的运动轨迹。它的优点是使用方便,可以捕捉实时运动,精度尚可,成本较低。当然如果在运动物体上安装一些反光点,并配合外部的红外灯,则可以实现精度较高的运动捕捉,但是此时运动物体的形象会受到较大的影响[3]。
1.2.3 惯性导航式动作捕捉
通过惯性导航传感器AHRS(航姿参考系统)、IMU(惯性测量单元)测量表演者运动加速度、方位、倾斜角等特性。不受环境干扰影响,不怕遮挡。捕捉精确度高,采样速度高,但成本较高。惯导传感器佩戴在表演者头上,或通过17个传感器组成数据服穿戴,跟踪头部、全身动作,实时显示完整的动作。
在此作品中,动作捕捉设备选用的是Kinect[4],属于光学式运动捕捉,可以识别人的关节点,进而计算出人的位置、速度、加速度等等参数。
1.3 Kinect技术简介
(1)Kinect 包含有 3 个传感单元;(2)彩色摄像头,用于同时识别多达 6 个人;(3)单色红外摄像头, 配个红外激光发射器,负责判断深度;(4)4个麦克风负责拾取声音及识别声音位置。 彩色摄像头和单色红外摄像头共同配合工作,最终的数据以一个包含有 20 个节点的骨架来呈现,其数据类型有位置、长度、速度、加速度等。这些数据最后通过OSC 格式传输至电脑渐行处理。
2 MIDI播放基本环节
本文是基于动作识别的交互式装置作品。该作品以MIDI[5]文件及与MIDI文件同步的视频文件为基础,通过Kinect采集人的“指挥类”动作,判断其速度快慢,并用于控制MIDI文件及视频文件的播放速度,来实现虚拟指挥的体验,通过Max/MSP[6]来实现程序编辑。整个程序分成文件回放、速度识别及其他部分。为了让该装置的节目源更加丰富,程序设计时尽量使用了通用的文件格式。例如MIDI只需要兼容GM格式即可,视频采用QuickTime格式。在程序中只需要添加MIDI的音色、速度及长度等信息即可。不需要将现有的文件形式转换或调整为某种特殊格式,大大实现了通用型。
2.1 MIDI优势
因为涉及到音乐播放速度,所以就不能单纯的用音频文件,因为音频文件进行变速后会产生音高变化,而音高不变的时间拉伸也会改变音质,无法正常诠释乐曲。若变速前的音符是一个长音,用MIDI的形式可以让变速前的长音继续播放,不受下一个音符开始的变速影响。
2.2 音色及控制器信息发送
提前预置每首歌曲每个声部所对应的音色。当演奏者选择歌曲后,各声部的音色信息将被发送。同时部分控制器例如音量、声像等也会被发送。
2.3 MIDI播放
图1为MIDI播放的程序搭建。其中使用detonate模块制作复音播放,根据处理后的速度信息来控制下一个音符的播放时间间隔,从而使播放速度改变。inlet1的数据是detonate传来的通道数据;inlet2的数据是将MIDI的音高、时常等基本数据打包,通过gate传送给makenote,来使各个声部可以正确的对应播放。在此过程中,gate模块的16通道运用是为了实现最多16通道而用(gate是将信息按照指定出口输出的工具,右上角输入的是想要输出的信息,左上角输入的是对输出信息的端口选择)。音符数据输出后送至Roland Integra 7音源发声。
变速播放是通过改变detonate发送的下一个音符的间隔时间来实现。detonate本身并无小节及节拍概念,而是仅仅按照每个事件之间的间隔对事件进行发送。因此整体改变间隔时间,就可以实现速度变化。例如将detonate输出的间隔时间乘以2,则每个事件之间的间隔加倍,整个速度就变为原来的一半。图1中delay右上角的“* 1.”就是用于调整事件间隔的。
3 将运动数据转化为音乐信息
3.1 速度判断
对于速度的判断这里采用了2类不同的方法。
3.1.1 连续判断速度模式
优点:可以实现连续的速度变化;缺点:很难将手的运动瞬时速度对应到MIDI播放速度。(1)根据手处于某些定点的瞬时速度。人的身体若是移动,定点数据相对于手的位置也会改变,甚至手的轨迹不经过这个定点。所以某个定点的速度数据就不够精准,甚至会出现数据缺失的情况。(2)根据挥手在中间段的多个定点的速度求部分定点的平均值,来代表速度变化。这样的可以在根据一个定点的基础上大大增加速度识别的准确性。即使手的挥动不会经过某一个定点,但是仍然可以根据其他定点取得平均值。但是定点直接识别速度的技术还不够成熟,比如人若离开Kinect识别范围瞬间,数据会突然会非常大幅度的无规律波动,所以会有未知的不确定性。
3.1.2 Tap tempo模式
优点:准确;缺点:需要两拍才能判断速度,感觉上会有一点延迟。
(1)定义边界,手越过某个边界就发出bang,然后计算每个bang之间的时间,转换为速度准确,但是要求人必须站在某一个准确位置。(2)判断挥手方向改变,当手改变挥动方向时,会出现大幅度加速度改变,当加速度大于某一数值后就发出bang,然后计算每个bang之间的时间,转换为速度。
人可以站在任何可识别位置,但是选择加速度阈值范围会比较低,阈值过低很多小动作都会被判断,阈值过高判断就不够灵敏。
最终解决办法使用(2)b模式,但是同时判断双手的下、左、右3个方向加速度变化,最后得出6个bang。当某个bang收到后,利用antibang过滤掉其他5个方向的bang。使用这个方法可以在降低阈值后仍然得到较高的精度。但是该方法依然有没有攻克的部分,比如速度识别中的延迟。在此装置的速度识别中,我们使用的是tap tempo的模式,作品中存在的局限,也是tap tempo本身的局限。在tap tempo中,我们需要敲击两次才能得到两拍之间所用时间,从而推算出速度;模擬指挥中也是如此,必须要有两次方向变化才能有新的能转化为速度数据的时间值,所以不是完全实时。尤其在慢速播放时,这种延迟更为明显。
以快速、慢速分别挥手模拟指挥,观察Kinect收集到的手部数据变化,从而确定因手挥动而改变的数据的大致范围,然后利用clip将这个范围内的数据等比例转化为0.5至2的范围之中,也就是说我们控制了模拟指挥的最快变速和最慢变速分别是在基础速度值上减少一半或者增加一倍,防止变速范围过大带来的不协调感。图2通过delay来控制下一个MIDI音符的播放,detonate第一个送出端口是时间信息,将这个时间与我们的挥动得出速度变化倍数相乘,然后延迟这个时间,就是下一个音符开始的的播放速度。总而言之,处理后的速度信息控制的是后面音符依次播放的时间间隔,将其间隔等倍变化,得出音乐速度改变效果。
3.2 音量判断
(1)利用Kinect,将识别到的手的运动信息转化为数据形式,再通过OSC传输到Max进行处理。(2)将高度数据转化为音量数据。取左手、右手高度的最大值,然后利用slide让高度数据不要幅度过大,将其数据通过zmap转化为音量数据所需要的0-127,因为指挥控制的是响度,但并不希望会十分微弱甚至听不清声音,所以变化范围选用50-127。这样的指挥方式不仅直接快捷,而且动作上也符合我们对更大音量带来的激动情绪的抒发形式。
4 结语
“模拟指挥”使得每个人都有用音乐表达情绪的权利,受到非专业人士的喜爱。但是装置识别的指挥动作和专业指挥动作不完全一致,现实指挥中不仅包含对速度、音量的控制,还能调动演奏者情绪上的起伏,这个是目前数据化的指挥无法达到的,所以并不能完全取代指挥家。此作品中,动作识别在速度变化中的成功运用,证明了动作识别的可操作性,也使得动作识别的前景也更加凸显出来,为未来的交互式艺术提供了更多的可能性。
参考文献
[1] 范翎. 交互式电子音乐研究[D].南京:南京艺术学院,2017.
[2] 庞志宏. 人体运动数据自动捕捉与 舞谱生成分析[J]. 中国有线电视,2019(5):509-511.
[3] 徐佗成. 基于光学动作捕捉的机器人示教系统设计与实现[D].杭州:浙江工业大学,2020.
[4] 袁菲. 基于Kinect的手势识别系统设计与应用[D].西安:西安科技大学,2018.
[5] 张楚翘. 基于乐段特征的MIDI音乐风格分类研究[D].广州:华南理工大学,2018.
[6] 李欣炜,刘奇.浅析凯佳·萨利亚霍的电子音乐作品《NoaNoa》[J]. 文艺生活·下旬刊,2020(6):80-81.
[7] 王俊. 基于Max/MSP平台的流行风格打击乐应用程序设计[D]. 武汉:武汉音乐学院,2018.
sdjzdx202203231614