我想要反转一个wav文件。但我不知道怎么做。我已经读过你需要反转样本流而不是字节流,但我不确定这是什么意思。谢谢你的帮助!
答案 0 :(得分:0)
使用Python语言+ Pygame -
获得某种声音操作的好方法Pygame允许您将.wav文件的内容读入一个包含5或6行程序的值数组中。 Python语言允许您使用简单的表达式来实现这一点,并且您将需要更多2或3个函数调用pygame来保存wav文件或播放它。
您可以在http://www.python.org获取最新的Python,并查找有关如何使用pip
安装模块的说明 - 此时您将能够安装pygame。然后,如果您还不知道,请学习一些Python基础知识,并按照Pygame的文档进行操作:
答案 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;
}