我試圖混合在一起2 16位線性PCM音頻流,我似乎無法克服噪聲問題。我認爲當混合樣品時它們來自溢流。混合16位線性PCM流並避免削波/溢出
我有以下功能...
short int mix_sample(short int sample1, short int sample2)
{
return #mixing_algorithm#;
}
...這是我曾嘗試爲#mixing_algorithm#
sample1/2 + sample2/2
2*(sample1 + sample2) - 2*(sample1*sample2) - 65535
(sample1 + sample2) - sample1*sample2
(sample1 + sample2) - sample1*sample2 - 65535
(sample1 + sample2) - ((sample1*sample2) >> 0x10) // same as divide by 65535
他們中的一些已經產生比別人更好的結果,但即使是最好的結果包含了相當多的噪音。
任何想法如何解決呢?
你能寫出完整的算法,我看不到任何作業! – perilbrain
當您將sample1和sample2除以2時,您會得到誤差範圍1. –