我在编程时遇到的问题。问题是这样的,现在我有两个byte数组,一个存放的是A声音的数据,另一个存放的是A和B混合的声音数据,怎样才能从第二个数据中把A声音去除留下B声音数据呢??
(声音格式 pcm,11025Hz,16位,单声道)
混合声音数据分离
答案:2 悬赏:20
解决时间 2021-03-22 10:38
- 提问者网友:长安小才冯
- 2021-03-22 04:33
最佳答案
- 二级知识专家网友:如果这是命
- 2021-03-22 05:47
有一个混音公式是
c = a + b - a * b / 32768
那么已知c和a也可以求b,(如果我没算错)
b = 32768 * (c - a) / (32768 - a)
你现在有两个byte数组,直接fixed掉拿指针,然后强制转short指针
接下去就可以高效率地拿到a和c了,套进去算b
只是思路……我没测试过。如果a、b混音的时候是用这种算法混出来那么理论上没问题,解方程而已。
其他混音方式混出来如果知道混音公式那可以通过解方程,如果不知道混音公式我也不知道怎么办了
c = a + b - a * b / 32768
那么已知c和a也可以求b,(如果我没算错)
b = 32768 * (c - a) / (32768 - a)
你现在有两个byte数组,直接fixed掉拿指针,然后强制转short指针
接下去就可以高效率地拿到a和c了,套进去算b
只是思路……我没测试过。如果a、b混音的时候是用这种算法混出来那么理论上没问题,解方程而已。
其他混音方式混出来如果知道混音公式那可以通过解方程,如果不知道混音公式我也不知道怎么办了
全部回答
- 1楼网友:星星坠落
- 2021-03-22 06:16
cooledit pro v2.1中文专业安装特别版 http://www.99d.com/down/93/42113.html
goldwave 5.57 声音编辑 播放 录音 转换 汉化绿色特别版 http://www.99d.com/down/93/46048.html
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯