基于虚拟现实技术的曾侯乙编钟虚拟演奏平台设计

2024-03-29 15:55张昕怡丁长河张海营
无线互联科技 2024年2期
关键词:曾侯乙编钟虚拟现实

张昕怡,丁长河,张海营

(1.武汉音乐学院 音乐学系,湖北 武汉 430060;2.湖北文理学院,湖北 襄阳 441053)

0 引言

随着元宇宙和虚拟现实技术的发展与成熟,运用数字化虚拟技术合成并重构世界,让观众沉浸在特定空间内,通过艺术情景的融合与重现,为观众创造出一个全新的文化体验场域,已经成为当前传统文化传播与传承最为流行的一种模式[1]。曾侯乙编钟被称为是“稀世珍宝”,代表着中国传统音乐文化的巅峰成就。但是,由于编钟原件仿制品数量有限,曾侯乙编钟专业的现场演奏活动只能在少量特定的场馆开展,对大多数人而言,现场欣赏或演奏编钟的机会极少。因此,如何结合虚拟现实技术,对曾侯乙编钟演奏场景进行虚拟化模拟与转化,实现曾侯乙编钟的沉浸式虚拟化演奏,成为国内外学者研究的前沿课题。

1 虚拟现实技术原理

虚拟现实是一种可以创建和体验虚拟世界的计算机仿真技术,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的仿真系统[2]。在虚拟现实的3D场景开发中,Java 3D提供了3D图形应用编程接口,程序员可以轻松完成3D场景控制组件的编写。Java 3D实际上是Java语言在三维图形领域的扩展,在Java 3D所描述的虚拟世界中,各种三维元素按照特定规则被有序地组织起来,构成Java 3D虚拟架构系统。也可以这样理解Java 3D程序的工作原理:在3D场景中有许多模型,例如房子、演员、道具等,而最终显示的画面是由某个观察者所观察到的图像[3]。除模型与观察者外,3D场景中还需要有照明光源,否则三维世界将是一片漆黑。此外,声效也是虚拟现实不可缺少的一部分,是虚拟现实场景设计的关键。在交互式虚拟体验中,这些元素共同组成虚拟现实3D场域。

2 曾侯乙编钟虚拟演奏平台的设计思路

随着互联网的发展与成熟,虚拟现实技术的空间仿真功能开辟了人类交流的新场域。为实现曾侯乙编钟虚拟演奏仿真体验的目标,在曾侯乙编钟虚拟演奏平台开发中,首先,需要借助3D MAX建模工具完成曾侯乙编钟原始演奏厅的等比例建模;其次,借助Java 3D编程技术,开发虚拟世界中编钟演奏的三维互动控制组件,并从视觉、听觉和交互设计等多方面完成曾侯乙编钟沉浸式虚拟体验场景的设计。同时,根据编钟音乐文化传承和演奏体验的需求特征,曾侯乙编钟沉浸式虚拟体验演奏平台设计包括:编钟沉浸式虚拟演奏系统、编钟历史文化讲解系统、编钟研究文献阅览系统和编钟音乐网上点播系统4个模块。

3 曾侯乙编钟虚拟演奏平台的模块设计

3.1 编钟沉浸式虚拟演奏系统

曾侯乙编钟虚拟演奏系统是将3D建模和Java 3D编程技术相结合,根据真实的编钟演奏场景和样式搭建的曾侯乙编钟虚拟演奏厅。该系统不仅可以还原编钟演奏带来的视觉与听觉特征,还可以让访客在虚拟场景中体验敲击演奏编钟音乐的效果[4]。系统设计关键内容如下。

(1)3D场景建模。曾侯乙编钟的建模工作是从编钟音乐厅陈列的编钟原型复制品中,获取到每类编钟的三视图,然后借助三维软件3D MAX进行编钟乐器建模,制作出钮钟、甬钟、键钟以及曾侯乙编钟三维模型。为了使3D场景设计更加便捷高效,本设计选择杭州先临三维科技公司开发的可变分辨率彩色3D扫描仪,对编钟等乐器贴图并添加材质,搭建编钟演奏三维场景,实现虚拟场景与现场场景的等比例复制。

(2)音源采集。编钟具有一钟双音的特性,为了实现编钟虚拟场景下敲击音效的互动体验感知,设计者需要对64件编钟(曾侯乙编钟共有65件单体钟,其中,64件具有音律属性,大镈钟没有音律属性)的每一件钟体的正音和侧音进行逐一编号采集,完成编钟音源的原声采集,并按照音律的高低和属性分布存储。在后续演奏互动中,当访客敲击编钟钟体时,系统会将本次采集的原音作为发声音源,进行系统化控制,以编钟原音音符呈现给访客[5]。

(3)虚拟演奏互动的编程控制。设计者借助Java 3D编程技术和Python编程软件,通过软件程序的智能控制,让体验者能身临其境感知虚拟空间中敲击编钟的演奏体验,实现虚拟环境下演奏(敲击)编钟音乐的设计目标。

3.2 编钟历史文化讲解系统

曾侯乙编钟代表着古代人民的高度智慧和精湛技术,为了让访客完整了解编钟文化内涵和价值,本课题设计了编钟历史文化讲解系统。该系统嵌入编钟发掘过程、编钟制作工艺、编钟音律特征、编钟历史考古发现等视频内容。访客通过编钟虚拟演奏平台的显示触摸屏,可以全面观阅编钟历史发展进程,深度了解中国编钟文化知识内涵,实现编钟文化知识普及与推广。

3.3 编钟研究文献阅览系统

当前,编钟文化已经成为考古界、音乐界学者关注的焦点。借助知网数据库进行文献检索,编钟方面的文献研究共742篇,尤其自1978年曾侯乙编钟发掘以来,编钟研究文献呈现指数级增长。为了更好地传承传播编钟文化,引发更多人参与编钟文化的传承之中,本平台在编钟虚拟演奏厅内建立了编钟研究文献阅览系统,精选出编钟研究的经典文献供访客线上翻阅,在访客游玩的过程中,更好地传播编钟文化专业知识。

3.4 编钟音乐网上点播系统

为了让进入虚拟展厅的访客更便捷地聆听编钟音乐,系统收集整理了编钟演奏的视频与音频等数字化资源,建立编钟音乐曲目库,设计编钟音乐网上点播系统。系统将编钟演奏名曲,如《东方红》《茉莉花》《春节序曲》《我的祖国》《中国功夫》等发布至编钟音乐点播平台,线上免费分享。该系统的开发不仅可以提高民众对编钟乐曲的认识,扩大编钟音乐的社会影响,还可以彰显编钟音律的魅力,促进编钟文化的传播与推广。

4 曾侯乙编钟虚拟演奏系统的控制程序设计

4.1 在网页上展示虚拟演奏3D场景的方法

Java 3D最大特性是可以使用Applet作为显示容器。以下代码显示了如何在Applet中显示虚拟演奏3D互动场景。

Public class HelloUniverse extends Applet {

private SimpleUniverse u=null;

public BranchGroup createSceneGraph(){//创建虚拟演奏场景图

BranchGroup objRoot=new BranchGroup();

......//设置虚拟演奏场景图的代码略

return objRoot;

}

public void init( ) {

....../虚拟演奏系统显示配置代码略

Canvas3D c=new Canvas3D(config);

add("Center",c);

universe=new Simple Universe(c);

;//创建简化的虚拟演奏系统空间

u.addBranchGraph(createSceneGraph();

//向虚拟空间中添加虚拟演奏场景图

4.2 编钟虚拟演奏互动中编钟音节音高的控制方法

为了实现虚拟场景下曾侯乙编钟虚拟演奏体验,平台在完成编钟虚拟场景设计之后,借助编程方式,对虚拟场景中编钟敲击后的音源响应进行智能化控制。本课题借助Python编程技术创建发声触发点,访客在编钟虚拟场景中触碰某一编钟钟体后,即触发给钟体预先录制的音源。控制程序如下:

from playsound import playsound

def play_sound(note):

sound_file = "编钟钟体对应的编钟音源文件路径"

playsound(sound_file)

触发编钟音符播放的触发点后,系统需要对音符播放的音高和延音时长进行控制。为此,可以借助Python的pygame模块实现音频播放音高的调解,配合time库可以实现编钟音符延续时长的智能化控制。编码如下:

from pygame import mixer

pygame.mixer.music.play()

time.sleep(10)

pygame.mixer.music.stop()

借助以上编程控制方法,可以实现多个音节之间切换开启与中止的控制,借助Python的fadeout(time)模块可以实现音节的淡出处理,解决演奏过程中的爆音问题。

与此类似,其他3个模块也可以借助Python网络编程和MYSQL数据库实现。

5 结语

本课题借助3D场景建模技术、Java 3D技术和Python编程技术,根据现实曾侯乙编钟演奏场景,完成了曾侯乙编钟虚拟演奏平台的搭建。该平台不仅还原了编钟的视觉感知和原声音符,让体验者可以在虚拟场景中近距离欣赏编钟的外形特征,还可以让访客体验敲击编钟的声音音效,实现在虚拟场景中演奏编钟的愿望。本课题设计的曾侯乙编钟虚拟演奏平台,可以更好地推进我国编钟乐器与现代科技的融合,最大限度地激发广大音乐爱好者对编钟音乐的热情,拓展编钟音乐文化传播的深度和广度。

猜你喜欢
曾侯乙编钟虚拟现实
金石齐鸣话编钟
曾侯乙的音乐之声
曾侯乙编钟
曾公编钟铭文补说
Stories of the Chime-bells—Unearthed from the Tomb of Marquis Yi of Zeng State
2000多年前最大的组合乐队——曾侯乙编钟
REALITY BITES
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
浅谈虚拟现实