我需要提取wav文件的幅度,并希望将其作为简单的命令行应用程序进行操作。有什么简单的方法可以做到这一点?跨平台会很棒。需要至少在Windows上工作。

您可以download an audio file for testing from soundcloud(或从https://dl.dropboxusercontent.com/u/313647/hosted/one_pos_to_neg_crossing.wav开始,直到soundcloud处理它为止)。

一些可能使用的库:

。净

  • NAudio

  • python
  • scipy.io.wavfile
  • pydub
  • PySoundFile
  • friture
  • snack
  • 最佳答案

    这是我使用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

    10-07 18:41