APP下载

Python用于音叉接触纸张的泛音现象研究

2022-07-29张润生杨诗淇程敏熙李德安邓浩仪

物理通报 2022年8期
关键词:音叉泛音基频

张润生 杨诗淇 程敏熙 李德安 邓浩仪

(华南师范大学物理与电信工程学院 广东 广州 510006)

让音叉对着纸振动,两者有轻微接触,实验可以采集到低于音叉基频的声音频率(低音现象),以及现象更为明显的比音叉基频更高的声音频率(泛音现象).有学者利用手机传感器验证了音叉接触纸张低音的理论模型,却并未提及泛音现象的特点及其影响因素[1,2].此外,诸如Spectroid,Phyphox,Adobe Audition等软件功能相对单一,并且对于音频的分辨率和精确度存在一定误差,实验数据的可靠性不强.

基于上述情况,本文利用Python-Librosa库对音叉接触纸张泛音现象的特点进行研究,定性探究纸张接触位置、大小、厚度、材料等因素对泛音特性的影响.

1 实验原理及实现条件

1.1 实验原理

通过查阅文献发现,音叉振动发声的本质为棒振动,在1次振动后,波传递到边界并被反射形成第2次振动,振动再次被边界反射形成第3次振动,以此类推形成n次振动.对于第q次振动,其振动频率满足[2]

(1)

其中,l为棒的长度,c为棒的纵向振动传播速度.式(1)表示“驻波”形式的振动过程,当q=1时为基波,q>1为q次谐波.

音叉在振动时由于存在高次谐波振动,会产生泛音,即会产生满足基频整数倍的高音频[3].通常,泛音频率fq满足[4,5]

fq=qf1

(2)

其中,f1为音叉自由振动时的基频.

1.2 Python语言及Librosa库

Python是一种具有易学、易读、易维护等特点的解释型脚本语言,其包含的模块和扩展库提供了各种问题的解决方法[6,7].Librosa是Python语音信号处理的第三方库,可以实现时频处理、特征提取、绘制声音图形等功能.本文的编程语法采用Python语言,调用Librosa库处理音频,实现数据可视化.

2 实验设计及代码实现

2.1 实验装置及设计

实验装置如图1所示,包含铁架台、音叉、橡胶锤、纸张、短尺(固定纸张一侧)、固定夹、手机支架、手机传感器(采集音频信号).其中3个音叉的基频分别为260 Hz,420 Hz,515 Hz,纸张包含A4纸、草稿纸、卡纸3种材料.在实验过程中,音叉竖直放置,先用敲击器敲打音叉,然后转动纸张使之与音叉轻微接触,用手机采集稳定的音频信号并进行分析.

2.2 数据处理代码

以下是程序算法的部分代码:

import librosa

import matplotlib.pyplot as plt

from matplotlib.pyplot import MultipleLocator

y,sr= librosa.load(path="./beat..wav",sr=None) #读取音频文件

melspec=librosa.feature.melspectrogram(y,sr,n_fft=1024,hop_length=512,n_mels=128)

#提取频谱特征

logmelspec = librosa.power_to_db(melspec)#转换为对数刻度

plt.figure()#绘制频谱特征

librosa.display.specshow(logmelspec,sr=sr,x_axis='time',y_axis='mel')

plt.colorbar(format='%+2.0f dB')

plt.show()

3 泛音特性研究

首先测量无纸张接触时音叉的振动频谱作为空白对照(以基频为420 Hz的音叉为例),然后让纸轻微接触音叉,测量有泛音时的振动频谱,实验测得的频谱图如图2所示.其中,横坐标表示时间(单位为s),纵坐标表示声音的频率(单位为Hz),颜色代表声音的强度(单位为dB),颜色由蓝色到橙色变化表示声音强度越来越强.

如图2(a)所示,纸张未与音叉接触时,采集到声音为音叉自由振动的基频,中心频率f1约为420 Hz.当音叉单独振动时,由于音叉的声学特性比较特殊,其泛音强度较弱,而且非常容易消失,其发出的声音不是复合音,近似纯音.当纸张与音叉轻微接触后,除音叉基频外,还出现了高音振动峰,如图2(b)所示.

提取强度较大的高音频率进行分析,得到数据如表1所示.

表1 高次谐波频率数据

不难发现,与音叉振动发出的声音相比,音叉接触纸张振动的声音频谱既包含音叉的基频,也包含与音叉基频成整数倍关系的高次谐波,即产生非常明显的泛音现象,符合理论预期.

4 泛音影响因素探究

4.1 纸张不同接触位置的影响

如图3所示,用一张A4纸,裁剪后尺寸为长×宽=20.00 cm×15.00 cm,将其划分为图3所示的5个区域.让音叉接触每个区域中轴位置振动(以基频为260 Hz的音叉为例),收集并分析振动产生的高次谐波频率,得到频谱图如图4所示.

图3 纸张分区图示

(a)音叉接触纸张一区的泛音频谱

(b)音叉接触纸张二区的泛音频谱

(c)音叉接触纸张三区的泛音频谱

(d)音叉接触纸张四区的泛音频谱

(e)音叉接触纸张五区的泛音频谱图4 音叉(基频为260 Hz)接触纸张各区的振动频谱

通过分析发现,对于同一张纸,振动的音叉接触距离悬挂部位越远的区域,产生的高次谐波越多,声音系统整体越尖锐.

4.2 不同纸张大小的影响

将同种材料、同种厚度的A4纸按相同长宽比例裁剪成5种大小的纸张,分别为4.00 cm×3.00 cm,8.00 cm×6.00 cm,12.00 cm×9.00 cm,16.00 cm×12.00 cm,20.00 cm×15.00 cm.分别用音叉接触不同大小纸张区域五的中轴位置振动(以基频为515 Hz的音叉为例),并对其产生的声音进行频谱分析,结果如图5所示.

(a)音叉接触4.00 cm×3.00 cm纸张的泛音频谱

(b)音叉接触8.00 cm×6.00 cm纸张的泛音频谱

(c)音叉接触12.00 cm×9.00 cm纸张的泛音频谱

(d)音叉接触16.00 cm×12.00 cm纸张的泛音频谱

(e)音叉接触20.00 cm×15.00 cm纸张的泛音频谱图5 音叉(基频为515 Hz)接触不同大小纸张的振动频谱

通过分析可知,在材料、厚度、长宽比例、接触部位相同的条件下,同一音叉接触不同大小的纸张产生高次谐波的分布近似相同,即纸张大小对音叉接触纸张泛音的影响不大.

4.3 不同纸张厚度的影响

将同种材料厚度不同的A4白卡纸裁剪成相同大小(长×宽=20.00 cm×15.00 cm),其厚度分别为0.16 mm,0.20 mm,0.30 mm,分别用音叉接触不同厚度纸张区域五的中轴位置振动(以基频为515 Hz的音叉为例),并对其产生的声音进行频谱分析,结果如图6所示.

(a)音叉接触厚度为0.16 mm纸张的泛音频谱

(b)音叉接触厚度为0.20 mm纸张的泛音频谱

(c)音叉接触厚度为0.30 mm纸张的泛音频谱图6 音叉(基频为515 Hz)接触不同厚度纸张的振动频谱

通过分析可知,在材料、大小、接触部位相同的条件下,音叉接触越厚的纸张,振动产生的高次谐波越多,音色整体越短促、薄厚.

4.4 不同纸张材料的影响

分别用音叉接触尺寸为长×宽=20.00 cm×15.00 cm的草稿纸、A4纸、白卡纸的区域五的中轴位置(以基频为420 Hz的音叉为例),采集音叉接触纸张振动发声的音频,分析得到频谱图如图7所示.

(a)音叉接触草稿纸的泛音频谱

(b)音叉接触A4纸的泛音频谱

(c)音叉接触白卡纸的泛音频谱图7 音叉(基频为420 Hz)接触不同材料纸张的泛音频谱

通过分析可知,音叉接触A4纸和白卡纸振动产生的高次谐波较多,即产生的泛音现象更为明显,其中音叉接触卡纸发出的声音更为短促、厚实,而音叉接触草稿纸产生的泛音现象相对不明显.

5 结论

本研究针对音叉接触纸张的泛音现象进行了研究,通过观察、分析实验现象,发现音叉接触纸张振动会产生与音叉基频成整数倍关系的高次谐波,得到纸张不同接触位置、不同纸张厚度以及不同纸张材料会对泛音特性造成影响,纸张大小对泛音特性不造成影响.其中,音叉接触距离纸张悬挂部位越远的区域、厚度越厚,振动产生的高次谐波越多,声音越尖锐;音叉接触A4纸和白卡纸振动产生的泛音现象较为明显,接触草稿纸产生的泛音现象不明显.

猜你喜欢

音叉泛音基频
语音同一认定中音段长度对基频分析的影响
论古琴泛音及其在乐曲中的运用
基于时域的基频感知语音分离方法∗
一次有趣的科学实验
多舱段航天器振动基频分配速算方法
一个三维系统的音叉分岔
有趣的声音
蒙古长调《富饶辽阔的阿拉善》声学特征分析
蒙古长调《富饶辽阔的阿拉善》声学特征分析
笛子“泛音”技巧的表现意义及演奏要点