静音时的最大振幅 - 波形文件处理

时间:2016-10-27 18:01:36

标签: c# wav audio-processing

我创建了一个wav解析器。我从数据块中读取样本信息,如下所示:

while (offset < size)
{
    var value = 0;
    switch (bits_channel)
    {
        case 8:
            value = data.SubArray(offset, 1)[0];
            break;

        case 16:
            value = BitConverter.ToInt16(data.SubArray(offset, 2), 0x0);
            break;

        default:
            value = BitConverter.ToInt32(data.SubArray(offset, bits_channel / 8), 0x0);
            break;
    }

    samples[channel].Add(value);
    //Tools.Log("Read value: " + samples[channel].Last() + ", " + bits_channel);

    offset += bits_channel;
    channel = (channel + 1) % numchannels;
}

其中SubArray是一个函数,它(显然)创建一个带有startindex和length的子数组,offset是数据中当前位的偏移量。

我的测试文件在大胆中看起来像这样: enter image description here

但是当我将它读入我的解析器时,就像这样: enter image description here

所以基本上你可以看到,在时间轴上有很大的振幅,但在大胆中它几乎完全无声,它在我的程序中看起来是最大振幅。可能是什么问题?

0 个答案:

没有答案