你如何反转一个wav文件?

时间:2017-01-12 02:01:10

标签: wav

我想要反转一个wav文件。但我不知道怎么做。我已经读过你需要反转样本流而不是字节流,但我不确定这是什么意思。谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

使用Python语言+ Pygame -

获得某种声音操作的好方法

Pygame允许您将.wav文件的内容读入一个包含5或6行程序的值数组中。 Python语言允许您使用简单的表达式来实现这一点,并且您将需要更多2或3个函数调用pygame来保存wav文件或播放它。

您可以在http://www.python.org获取最新的Python,并查找有关如何使用pip安装模块的说明 - 此时您将能够安装pygame。然后,如果您还不知道,请学习一些Python基础知识,并按照Pygame的文档进行操作:

https://www.pygame.org/docs/ref/sndarray.html

答案 1 :(得分:0)

是的,您需要反转样本而不是字节。 这是此tutorial的简短摘要。 抓住元数据之后的字节(通常在索引44)。 通过使用for循环反转样本:

private static byte[] ReverseTheForwardsArrayWithOnlyAudioData(int bytesPerSample, byte[] forwardsArrayWithOnlyAudioData)
{
    int length = forwardsArrayWithOnlyAudioData.Length;
    byte[] reversedArrayWithOnlyAudioData = new byte[length];
    int sampleIdentifier = 0;
    for (int i = 0; i < length; i++)
    {
        if (i != 0 && i % bytesPerSample == 0)
        {
            sampleIdentifier += 2 * bytesPerSample;
        }
        int index = length - bytesPerSample - sampleIdentifier + i;
        reversedArrayWithOnlyAudioData[i] = forwardsArrayWithOnlyAudioData[index];
    }
    return reversedArrayWithOnlyAudioData;
}