论文部分内容阅读
自从世界上第一个电子乐器在十九世纪末被发明以来,电子乐器的性能品质不断提高,目前已得到大规模普及。电子琴轻便紧凑,音色变化多样,因而受到众多音乐爱好者的喜欢。但是电子琴毕竟只是对传统乐器的一种模拟,还无法代替传统乐器。如何进一步增强电子琴的性能和表现力,是电子琴未来发展需要解决的问题。特别是我国的民族乐器很多为弦乐器,缺乏自己的音源芯片,如何在弦乐器基音频率连续变化的情况下实现MIDI准确记谱和准确重播是一个难题。本文从电子琴的频谱合成发声技术、电子琴的结构形式和弦乐器的MIDI记谱方法等三个方面,对电子琴进行了探索研究。论文所完成的研究工作和成果总结如下。论文设计实现了一种基于计算机视觉的复合电子琴。在硬件方面,该复合电子琴用有机玻璃盒做琴体,琴面采用LED灯带侧光照明的有机玻璃板,通过广角摄像头监测手指的演奏位置。在软件方面,该复合电子琴在Visual Studio 2015开发环境下,借助OpenCV库函数进行图像处理,实时获取手指指尖的质心位置。在键盘乐器演奏模式下,系统调用传统MIDI功能进行发声、记谱和演奏;在弦乐器演奏模式下,系统调用本论文提出的增强的MIDI功能进行记谱,并通过频谱合成进行准确发声和演奏。从而实现了弦乐器和键盘乐器的统一。论文对弦乐器进行了物理建模和MATLAB仿真,进一步对几种典型乐器进行了傅里叶频谱分析,证实了通过基音和振动频率为基音频率整数倍的泛音,根据频谱包络线确定的音型进行频谱合成,可以在很大程度上还原原始声波,但是仍然可以听出两者在音质上的差异。论文进一步对基音和泛音周围邻域的频谱贡献进行了实验考察,总结出了双十规则:对大多数乐器,只要取包括基音在内的前十个泛音频谱,同时取每个泛音周围正负十赫兹内的频谱,根据频谱包络线确定的音型进行频谱合成,可以较为准确地还原原始声波,几乎听不出两者的差异。对某些频谱谱峰比较宽的乐器,在进行频谱合成发声时可以适当扩大每个泛音周围频谱的范围。论文针对连续发声的弦乐器,提出了一种增强的MIDI记谱方法,该方法首先找到弦乐器演奏某一乐音时,比该乐音频率稍低的最近邻的标准音名(假设两者的频率差为m赫兹),并采用此标准音名,按照传统MIDI指令进行记谱。进一步,再增加一条同样的MIDI指令,但新增的指令做两点改变,第一,音名序号变为m;第二,时戳加上一个很大的时间常数,使得时戳指向整首乐曲演奏完以后的某一个时刻。这样在播放时,如果采用传统MIDI播放器,由于新增的指令指向整首乐曲演奏完以后,不会影响当前标准音名乐音的演奏,但演奏效果稍差;如果采用根据本文方法增强的MIDI播放器,则在发现超长时戳后,自动减去一个很大的时间常数,并提取该指令所带音名参数m,将m加上标准音名对应的基音频率,得到准确的基音频率,再根据前述双十规则进行频谱合成发声,即可实现弦乐器的准确发声。