【问题标题】:iPhone - lot of noise in audio fileiPhone - 音频文件中有很多噪音
【发布时间】:2009-10-25 11:05:12
【问题描述】:

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

谁能给我一个很好的例子来展示如何将原始音频字节写入文件?这是我遵循的基本逻辑

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;

谢谢。

【问题讨论】:

  • 我已经录制了一个 .wav 文件,我想从那个 .wav 文件中去除背景噪音。我该怎么做?请帮助我..挣扎了一周。
  • 我不想去除背景噪音。我可以在 iPhone 中禁用噪音消除吗?

标签: iphone core-audio


【解决方案1】:

这些返回 true 多少次?

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

仅仅因为你没有剪裁,(因为你强迫它不剪裁)并不意味着当你像这样截断波浪时你不会得到伪影(失真)等。我会看看这种情况发生的频率。

核心音频有混音器。聪明的人已经编写了代码来处理这种东西,所以我们不必:) MultiChannelMixer 是一个做立体声混音的。看看吧。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这样做了。仍然得到相同的结果。还有其他想法吗?谢谢
    • 编辑问题。我仍然得到噪音
    【解决方案3】:

    我不确定“防止剪辑”的代码行是否真的在起作用;在加入它们之前,您不需要有效地拒绝两个流吗?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 2018-08-26
      • 1970-01-01
      • 2021-03-04
      • 2011-02-04
      • 2021-04-25
      相关资源
      最近更新 更多