我有两个波形文件,我为其提取了数字样本。我需要同时打两场。如何将这两个示例组合在一起生成输出示例,即两个声音一起播放。这是如何做到N同时样品?是否就像增加样本和取平均值一样简单?
发布于 2013-11-07 22:06:38
是的,你可以简单地把两者相加,除以二。事实上,这是平均水平。
当两个样本都有相同的样本率时,它确实是如此的简单。
发布于 2013-11-08 01:07:05
组合声音(以相同的采样率)只是涉及到两个数组的元素相加。你不需要除以N,除非你对头部空间有问题。如果和的值超过了最大输出电平,这将导致裁剪,使一个可听到的失真。
除非您有一个大N,或一个小N,其中您的每个源声音是正常化到最大输出水平,您应该没有问题的剪裁。如果你事先知道信号的波形,你可以预先用相同的标量值缩放每个波形,这样输出就不会被剪切。或者,如果您正在脱机呈现声音,您只需将您的波形相加,然后对复合信号进行规范化,使其不被剪辑。
如果您正在处理N个源的实时输入流,则可以使用限制器将裁剪最小化。
compression#Limiting
发布于 2013-11-08 00:42:02
通过将各个样本相加在一起来组合数字音频。
当组合几个不相关的声源( 但响度与源数N的关系并不是线性的。 )时,响度会增加。四个同时发出的声音大约是一个声音的两倍,而不是四倍。(这增加了6 6dB。)
正如您所怀疑的,您确实需要记住,当同时播放多个声音时,需要记住最终的输出量,但是当组合N个同时源时,用N除以N不是正确的方法。
最简单的方法是向应用程序添加卷控件。当应用程序声音太大时,用户会关闭它。这是简单的,通常是正确的方法,当组合少量的声音。
手动卷控制并不是所有问题的正确解决方案。例如,第一人称枪手。想象一下,从安静的走廊跑出来,展开一场激烈的枪战。声音环境将从非常安静的少数几个声源到非常响亮的许多声源。在这些情况下,您可能需要某种形式的自动增益控制。
https://stackoverflow.com/questions/19847601
复制相似问题