17

我已经尝试过在大约半秒的时间内使用 sigmoid 和对数淡出音量来缓冲暂停和停止,并防止我的音乐应用程序中出现爆音。

然而,这些听起来都不“自然”。我的意思是,他们听起来很糟糕。就像一个业余工程师负责录音机一样。

我知道耳朵在音量方面是对数的,或者至少,两倍的功率并不意味着两倍的音量。音量衰减有什么神奇的公式吗?谢谢。

4

3 回答 3

11

我年轻的时候花了很多时间为我学校的广播电台做音乐录音、现场音乐会和 DJ,我可以告诉你的一件事是,你褪色的地方也很重要。

只要没有人声,在歌曲结束时淡入或淡出前奏听起来很自然,但是其中一些计算机化广播电台会在一首歌中的任何地方淡入淡出,以制作下一个广告插播......我不认为有一种方法可以让这听起来不错。

无论如何,我也会回答你问的问题......用于调整音频电平的对数衰减通常称为“音频锥度”。这是一篇很好的文章,描述了与我们现在用于娱乐的电子设备相关的人类听觉生理学。请参阅: http ://tangentsoft.net/audio/atten.html 。

于 2008-10-16T00:36:56.877 回答
6

您需要确保淡出的末端在波形中的“零交叉”处。

半秒是相当快的。您可能只想延长时间,除非它必须那么快。一般2、3秒比较自然。

更多的时间,它应该与音乐的节拍率,并在节奏的自然点结束。尝试获取歌曲的 BPM(这可以粗略计算),并在该时间间隔内淡出等于全音符或半音符。

您也可以尝试在淡出时降低播放速度。这将提供更自然的黑胶唱片或磁带听起来停止/暂停。线性降低播放速度,同时在 1 秒内以对数方式降低音量。

于 2008-10-16T00:46:33.520 回答
4

如果您只是想在暂停或停止播放时获得干净的声音,那么根本不需要淡入淡出 - 只需找到一个零交叉点并停在那里(或更现实地,只需用静音填充最终缓冲区的其余部分)。正如您所注意到的,当用户希望声音立即停止时淡出听起来不自然,因为结果与动作分离。

停在零交叉点的原因是,零是音频停止时的稳态值,因此两种状态之间的过渡是无缝的。如果您在最后一个样本的幅度较大时停止播放,那么当音频硬件重构模拟信号时,您实际上是在将瞬变引入音频中,这将作为爆裂声和/或咔嗒声听到。

另一种方法是非常快地衰减到零(~< 10mS),它有效地实现了与过零技术相同的效果。

于 2008-10-16T14:48:06.957 回答