音乐中的失真是如何起作用的

2020-05-19 16:00:20

失真在音乐中无处不在,特别是涉及到电吉他的时候。正是这种嘎吱作响的、模糊的声音让摇滚乐听起来很摇滚乐。当太多的信号被输入到模拟元件中,人们意识到它发出了有趣的声音时,它就偶然地出现了。

它听起来如此酷的原因之一是它保留了正在播放的音符的频率,同时在上面添加了其他频率。对于模拟元件,这(某种程度上)是通过对用于产生声音的信号进行限幅来实现的。最终结果取决于使用的电路和组件,因此有很多种。正确的失真可以为任何声音添加字符。

在数字世界里,失真通常是使用一种叫做波形整形的技术来产生的,这是一个很酷的概念,我认为应该在博客上发表一篇文章。您可以使用波形整形来创建简单的剪切扭曲,但它还可以做更多的事情。

本段以下的所有内容都需要启用javascript才能运行,如果您不信任我,源代码就在这里。我正在使用一些基于纯正弦波的声音演示,这听起来非常可怕,但是图表要漂亮得多。我已确保声音不会太大,但请确保您的音量不会调得过大。最后声音变得更好听了。

我知道你们中的一些人会在电话里看这个。祝你好运,从技术上讲,它应该会起作用。

使用此选项可更改此页面上每个声音的音量。单击每个图形以播放其声音,然后再次单击以停止。

这是一个以440 Hz(A音符)播放的基本正弦波,使用剪裁,您可以在剪裁和未剪裁的波之间淡入淡出,并使用下面的滑块调整剪裁级别。

当削波值在波的常用值之外时,削波的正弦波听起来与纯正弦波完全相同。我告诉过你他们听起来很可怕…

一组正弦波听起来比单个波稍微好一些,那里的数学家会知道你可以用正弦波的组合形成任何声音,但我不会走得那么远。

我将对一组频率相近但不完全相同的七个正弦波应用相同的剪辑。这使得它们以某种方式相互干扰,从而产生敲打效果(这听起来仍然不是很好)。

剪裁的一个怪癖是,较安静的声音不会达到阈值,因此只有较响亮的声音才会改变。这就是如何在大声的声音上获得“超速”效果。

剪裁的另一个副作用是它限制了音量,因此失真通常伴随着振幅的提升。

此处(和上面)绘制的波形比您可以听到的声音慢约100倍:

此滑块会更改扭曲程度,再往右是更多的剪裁和更高的提升:

在引擎盖下面,我正在使用一种叫做波形整形的技术来创建被削波的信号。它经常被用来模拟更经典的失真声音,这比剪辑要稍微复杂一些。而且它可以做得更多。

它的工作方式是使用传递函数,该传递函数将每个输入值(在-1和1之间)映射到也在-1和1之间的输出值。

以下是几个传递函数的示例,图形上的轴都从-1到1。光标位置将显示函数的示例值:

下面显示了将传递函数应用于正弦波的结果。单击图表播放声音,您可以在播放时通过单击按钮来更改功能,以听取不同之处。

关于不同功能的一些信息(查看此页面的源代码并搜索“Hello!”要查看函数本身,请执行以下操作):

剪辑/增强-剪辑为0.5并将振幅加倍以保持音量不变。

非常嘈杂-将信号替换为随机噪音,但您仍然可以听到原始音调(我认为这是由于混叠造成的)。

这里有一些音频记录将通过传递函数运行,我已经复制了下面不同的失真按钮,以便您可以在播放声音时摆弄声音(请记住,线性将不变地播放声音)。玩得开心!。

这些可能在某些浏览器中不起作用,请先尝试播放上面的一个正弦波,然后给我发电子邮件。

二次的那个听起来很奇怪。这是因为它是一个偶数函数,而其他大多数函数都是…函数。奇怪。这些都是函数对称性的副作用,它们改变了失真产生的谐波。

CLIP/BOOST和指数之间的区别是微妙的-这些差别对于高端音频设备来说变得非常重要。人们会花费大量的时间和金钱来寻找准确的声音。

我希望你觉得这很酷,我知道这是个随机话题。目前我正在用javascript构建合成器,因此出现了这个奇怪的话题。如果你感兴趣,敬请关注或联系我们。