MakeNoise04 - 波形和相位

in cn •  6 years ago 

声音的速度和波长

对于在同一种材质中出现的一个声音事件,波的速度通常是恒定的(主要取决于温度)。在 20°C 的空气中,声波的传播速度大概是 1130 ft/s 或 344 m/s 。

wavespeed_fomular.png

通过测量具有相同位移、且运动方向一致的距离最近的两个质点的距离,就可以确定波长 wavelength。

因为声音在介质中的传播速度相对固定,所以频率低的声音,波长更长。

跟声音类似,光也是一种波动,是能量的一种形式。而波动传递的能量跟波长密切相关。下面是不同波长的波动类型(包括可见光在内):

波形

波形(waveform)表示信号的形状、形式。波形可以千变万化,常见的基础波形包括正弦波,方波,三角波,锯齿波等:

在 Max/MSP 中,有一系列与之对应的生成周期信号的信号源对象:

[Max]oscillators in max.png

最常用的生成器对应的波形如下:

[Max]different_waveform.png

其中 cycle~ 生成正/余弦波,phasor~saw~ 生成锯齿波(两者的取值范围不同,saw~生成的波形更平滑一些),rect~ 生成方波。

然后我们来听听看不同波形发出 440Hz 声音:

Different Waveform in Max/MSP

相位

了解过频率、波长、波形等概念,下面来啃一个相对复杂的概念——相位 Phase。

wave&phase.png

相位是波形中一个参考点在某个时间点所处的位置,用来描述信号的波形变化(单位: degree)。

Phase is the degree of progression in a cycle

参考点的位置公式如下:

phase_fomular-s.png

不同相位的波形会相互干涉。当两个声波 in phase(相位相同),会增强振幅;


当两个声波相位不同,会形成干涉。

当两个声波 180° out of phase(相位相反),会完全抵消。这一原理常运用在降噪耳机、消音器上。

在 Max/MSP 中生成和改变波形

在前面我们已经用几个信号对象生成对应的波形:

[Max]different_waveform.png

周期性信号从 0 开始上升,每一步递增的量就是这个信号的斜率,它决定了这个周期会持续多长时间(控制着频率)。其中 phasor~ 相位器是非对称的,取值不会低于 0.0,而是在 0.0~1.0 之间移动。通常使用相位器作为所有周期波形的时间基准或输入(基础源)。

在实现相位干涉之前,我们先试着修改波形:给波形做乘法会缩放,做加法会在 y 轴产生位移:

[Max]modify_wave.png

然后,我们用 cycle~ 生成两个频率为 4 的正弦波。将其中一个乘以 -1 得到相反相位的波形。然后把两个波叠加起来,会看到结果是波形完全消失:

[Max]180_out_of_phase.png

在 Ableton Live 中实验相位干涉

在 Ableton Live 中,波形的调制随处可见。比如 Operator 里面可选多种波形去调制声音:

[Ableton]operator_waveform.png

我们首先来实验两个相同的音频,同时播放时的增强效果。

In_phase

然后再来尝试将两个音频消音。

添加 Utility 音效器,在第二个音轨播放时,打开左右声道的相反相位开关。然后同时播放两个音频,会发现声音消失了,因为两个音频的相位正好相反,产生了完全抵消的效果。

Phase Interference in Ableton

彩蛋

现在让我们回头看看在 Max/MSP 里听不同波形的这个视频:

Different Waveform in Max/MSP

有什么新发现吗? 😁

Ref

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!