gpt4 book ai didi

java - 连接两个(或多个)wav-sound的byte []。产生背景噪声

转载 作者:行者123 更新时间:2023-12-03 01:49:44 25 4
gpt4 key购买 nike

我正在尝试加入wav-sound的字节数组,并且它除了backgroundnoise之外都有效。任何人都知道可以添加两个字节数组的声音的算法。

到目前为止,这是我尝试过的

for(int i=0;i<bArr1.length;i++)
{
bArrJoined[i]=bArr1[i] + bArr2[i];
}

也试图除以2而不是大数
for(int i=0;i<bArr1.length;i++)
{
bArrJoined[i]=(bArr1[i] + bArr2[i]) / 2;
}

有人知道如何在没有噪音的情况下进行这项工作吗?

最佳答案

许多事情都可能在这里造成伪影。不同的音频采样率或数据位大小可以做到这一点。

假设这些不是问题,您应该意识到您不能在没有溢出的情况下添加另一个bytebyte(256将变为0,依此类推)。因此,在添加之前将其转换为int。如果超出最大音量,则会发生剪切,因此您的2分频操作很明智,应该可以解决该问题。除法操作应与int版本一起进行。最后只回退到byte

但是,如果您不使用8位音频,那么byte不是您的基本单位。例如,16位音频使用2个字节,并且您需要对值进行任何数学运算之前,将每两个连续的bytes转换为int(相对于适当的字节序)。每个单个数字值的32位音频数据占用4个连续字节。仅具有字节数组本身并不能告诉您数据边界在哪里。

关于java - 连接两个(或多个)wav-sound的byte []。产生背景噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40775625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com