因此,让我们说,我想混这2个音轨:Audacity如何混合音频样本?
在Audacity中,我可以使用“混合和渲染”选项将它们混合在一起,我会得到这个:
然而,当我尝试写我自己的代码混合,我得到这个:
这基本上是我怎么混的样本:(语法HAXE但它应该是容易遵循,如果你不知道它)
private function mixSamples(sample1:UInt, sample2:UInt):UInt
{
return (sample1 + sample2) & 0xFF;
}
这些是8位采样音频文件,并且我希望产品也是8位的,因此& 0xFF
。
我明白,只要简单地加入样本,我就会期望剪裁。我的问题是,Audacity中的混音不会导致裁剪(至少不会导致我的代码),并且通过查看第二个(较长)轨道的“尾部”,似乎不会减小幅度。它听起来也不软。
所以基本上,我的问题是这样的:Audacity在做什么,我不是?我想混合音轨听起来就好像他们在另一个上面播放,但我(显然)不想要这个可怕的剪辑。
编辑:
这里是我所得到的,如果我签值之前添加,然后unsign和值,如建议通过Radiodef:
正如你所看到的它比以前好得多,但与Audacity产生的结果相比,仍然很扭曲和嘈杂。所以我的问题依然存在,Audacity必须以不同的方式做事。
EDIT2:
予混合所述第一轨道上本身,都与我的代码和Audacity的,并且与发生失真的点。这就是无畏的结果:
这是我的结果:
仅基于屏幕截图,看起来它们是相乘的,而不是相加的。 – ashes999
这看起来比剪裁更怪异。看看短片段的总和,音频完全被破坏,然后完全不受影响。你确定你的8位样本在读入时没有被放大吗?试着拿出&看看会发生什么。 – Radiodef
@ ashes999:我不确定你在说什么,但我可以向你保证我的是被添加的(主要失真的原因是他们没有签名,正如Radiodef指出的那样)。至于Audacity混音,Audacity手册本身陈述了“混合多个曲目_adds_波形混在一起”的行为:http://manual.audacityteam.org/man/Mixing – puggsoy