2009-10-25 32 views
0

我正在将两个文件的原始音频字节写入一个新的wav文件中以合并这两个文件。创建的结果文件具有两个音频剪辑的内容,但文件中也有很多噪音。iPhone - 音频文件中有很多噪音

有人能指点我一个很好的例子,它展示了如何将原始音频字节写入文件?这里是我所遵循的基本逻辑

SInt32 leftSample1 = ReadSampleFromFile1(music_iter1); 
leftSample1 = (SInt32)((float) leftSample1 * 0.7071); //to avoid clipping 

SInt32 leftStereoSample2 = ReadLeftSample(music_iter2); 
leftStereoSample2 += leftSample1; 
if (leftStereoSample2 > 32767) 
leftStereoSample2 = 32767; 
else if (leftStereoSample2 < -32768 
leftStereoSample2 = -32768; 
// write leftStereoSample2 to the file 
//do the same as left sample to right sample also 

++music_iter2; 
++music_iter1; 

谢谢。

+0

我记录了一个.wav文件,我想从该.wav文件中删除背景噪音。我该怎么做?请帮助我..挣扎一个星期。 – Warrior 2010-11-12 11:18:08

+0

我不想去除背景噪音。我可以在iPhone中禁用噪音消除功能吗? – 2014-08-20 05:49:36

回答

1

这些回复多少次?

if (leftStereoSample2 > 32767) 
leftStereoSample2 = 32767; 
else if (leftStereoSample2 < -32768 
leftStereoSample2 = -32768; 

只是因为你没有限,(因为你强迫它不)并不意味着你不会得到神器(失真)等,当你截断波这样。我会看到这种情况发生的频率。

核心音频有混音器。聪明的人已经编写了代码来处理这种东西,所以我们不必:) MultiChannelMixer是一个可以进行立体声混音的程序。一探究竟。

0

您对65535和-65536的测试不正确(需要17位)。 尝试32767和-32768。

+0

这样做。仍然得到相同的结果。任何其他想法?谢谢 – lostInTransit 2009-10-25 11:21:38

+0

编辑问题。我仍然听到噪音 – lostInTransit 2009-10-26 06:07:14

0

我不确定“防止裁剪”的代码行实际上是在做它的工作;在加入它们之前,你不需要有效地拒绝两个流吗?

尝试结合两个更安静的文件。在两个文件上,而不是0.7071,尝试0.5。或者按照Aran的建议使用MultiChannelMixer。