科学音频处理,第三部分 - 如何在 Ubuntu 上使用 Octave 4.0 对音频文件应用高级数学处理效果
在此页
- 调制
- 调幅
- 为什么要使用调幅?
- 震音效果
- 真实音频文件上的颤音
- 正弦频率调制的影响
我们的数字音频处理教程系列的第三部分介绍了信号调制,我们解释了如何应用调幅、颤音效果和频率变化。
调制
调幅
顾名思义,此效果会根据要传输的消息改变正弦波的幅度。正弦波被称为载波,因为它携带信息。这种类型的调制用于某些商业广播和传输民用频段 (AM)。
为什么要使用调幅?
调制辐射。
如果通信信道是自由空间,则需要天线来辐射和接收信号。它需要一个有效的电磁辐射天线,其尺寸与被辐射信号的波长具有相同的数量级。许多信号(包括音频分量)通常为 100 Hz 或更低。对于这些信号,如果要直接辐射信号,则需要建造大约 300 公里长的天线。如果使用信号调制在高频载波上打印消息,比如说 100 MHz,则天线的长度只需要超过一米(横向长度)。
浓度调制或多通道。
如果多个信号使用一个通道,调制可用于将不同的信号传输到不同的频谱位置,从而允许接收器选择所需的信号。使用集中(“多路复用”)的应用包括遥测数据、立体声 FM 收音机和长途电话。
克服设备限制的调制。
滤波器和放大器等信号处理器件的性能,以及构建这些器件的难易程度,取决于信号在频域中的情况以及高频和低频之间的关系。调制可用于将信号传输到频域中更容易满足设计要求的位置。调制也可用于将“宽带信号”(最高频率与最低频率之比较大的信号)转换为“窄带”符号。
音效
许多音频效果都使用幅度调制,因为它可以处理此类信号的效果显着且容易。我们可以列举一些,例如颤音、合唱、镶边等。此实用程序是我们在本系列教程中重点关注的地方。
震音效果
颤音效果是调幅最简单的应用之一,要实现这种效果,我们必须通过周期信号(正弦或其他)改变(乘以)音频信号。
>> tremolo='tremolo.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> wo=2*pi*440*t;
>> wa=2*pi*1.2*t;
>> audiowrite(tremolo, cos(wa).*cos(wo),fs);真实音频文件上的颤音
现在我们来展示现实世界中的颤音效果,首先,我们使用之前录制的一个男声说A的文件。这个信号的情节如下:>> [y,fs]=audioread('A.ogg');
>> plot(y);>> t=0:1/fs:4.99999999;
>> t=t(:);
>> w=2*pi*1.5*t;
>> q=cos(w);
>> plot(q);>> tremolo='tremolo.ogg';
>> audiowrite(tremolo, q.*y,fs);频率变化
我们可以改变频率以获得非常有趣的音乐效果,例如失真、电影和游戏的音效等。
正弦调频的影响
这是根据等式显示正弦调制频率的代码:
Y=Ac*Cos(wo*Cos(wo/k))
在哪里:
Ac=振幅
wo=基频
k=标量除数
>> fm='fm.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*442*t;
>> audiowrite(fm, cos(cos(w/1500).*w), fs);
>> [y,fs]=audioread('fm.ogg');
>> figure (); plot (y);