我需要提取wav文件的幅度,并希望将其作为简单的命令行应用程序进行操作。有什么简单的方法可以做到这一点?跨平台会很棒。需要至少在Windows上工作。
您可以download an audio file for testing from soundcloud(或从https://dl.dropboxusercontent.com/u/313647/hosted/one_pos_to_neg_crossing.wav开始,直到soundcloud处理它为止)。
一些可能使用的库:
。净
python
最佳答案
这是我使用Accord.NET想到的解决方案:
public IEnumerable<float> AmplitudesFromFile(string fileName)
{
Accord.Audio.Formats.WaveDecoder sourceDecoder = new Accord.Audio.Formats.WaveDecoder(fileName);
Signal sourceSignal = sourceDecoder.Decode();
for (int i = 0; i < sourceSignal.Samples; i++) yield return sourceSignal.GetSample(1, i);
}
项目页面:http://accord-framework.net/
文档:http://accord-framework.net/docs/Index.html