c# - 从.wav音频样本创建一个整数数组。 NAudio C#

标签 c# audio naudio

我对数字音频编程非常陌生,不确定我在做什么是否正确以达到期望的结果。我正在尝试获取.wav文件,并将单个样本保存在数组中,以便我可以对其进行分析。我正在使用NAudio AudioFileReader,下面的代码打印出了大量的浮点数,我不知道它们是否正确,或者在转换时会被更改。理想情况下,我希望它们为32位整数。任何关于如何到达那里和理解的建议都将受到赞赏。

  AudioFileReader readertest = new AudioFileReader("C:\\Users\\minford\\Downloads\\Kalimba.wav");
  int bytesnumber = (int)readertest.Length;
  var buffer = new float[bytesnumber];
  readertest.Read(buffer,0,bytesnumber);

        for(int i = 0; i <buffer.Length; i++){
            Console.Write(buffer[i]+ ", ");

        }

最佳答案

是的,这会将所有样本打印为标准化为+/- 1.0范围内的浮点。
是的,您会看到很多数字,因为每秒将有成千上万的样本。
我不确定为什么需要使用32位整数。原始样本很可能是16位整数,这是WAV文件的最常见选择。您可以使用WaveFileReader将原始数据读出到字节数组中,然后使用several techniques中的任何一个将字节数组转换为短数组。

关于c# - 从.wav音频样本创建一个整数数组。 NAudio C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26090496/

相关文章:

c# - 在 ASP.Net MVC 中使用 SaveChanges 时如何获取自动生成的 ID。我目前的方法似乎效率低下

javascript - AJAX 未成功从 asp.net 服务器返回

python - TensorFlow 占位符错误

linux - 将字节流式传输到 ALSA 播放设备

c# - 流式音频播放延迟(约 200 毫秒)

c# - 如何使用 NAudio 播放字节数组的音频原始数据?

c# - 图像比较——旋转、对齐和缩放

c# - 使用 LINQ Where 与 Find 从业务对象列表中检索给定业务对象的正确方法是什么?

python - 在 Windows(和 Linux)上播放各种音频的最佳 python 解决方案?

c# - 在 Azure 上使用 C# 修剪 AAC 音频文件