因此,讓我們說,我想混這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