如何从wav文件中检索帧号和帧大小



我目前正在用wav文件作为输入,用EPCP做一篇关于和弦识别的论文,但现在我只能确定单个wav文件的帧数和帧大小。我需要这些数据作为NAudio库中hammingwindow函数的参数

public static double HammingWindow(int n, int frameSize)

我已经检索到所有可用的wav标题,但我不知道如何获得帧数和帧大小。我可以根据给定的表头数据计算吗?或者还有别的办法吗?

如果你知道什么是hamming窗口,你就不会问这样的问题。维基百科的文章告诉你关于它的一切

我自己不是DSP方面的专家,但我已经在业余时间使用它几个月了。我能告诉你的是,这是一个绝对复杂的领域!在一周左右的时间里你什么都抓不到。学生们在高中的几个学期里都在接受这方面的教育。只是作为旁注。

所以,关于你的问题:

您可以选择块大小,这通常是从您的音频硬件中预先确定的。这总是有一个基数2,所以128256。。。。典型的是1024。这是你的尺寸。

使用WAV文件时,可以根据需要选择帧大小。它应该符合上述标准。

此上下文中的窗口是一条"曲线",从时间0开始,具有某个值,到frameSize-1结束,具有某一值。

函数的参数"n"是该窗口中的位置。该函数返回一个介于0和1之间的值,该值表示"n"处的值。

NAudio有一个WPF演示,其中SampleAggregator.cs使用HammingWindow函数。你检查过那个样品并了解它是如何使用的吗?

我没有使用HammingWindow。根据这个框架就像一个样本,但对于多通道格式,"特定数据点上所有通道的快照"。

如果您确实想要的话,您可以从标题中使用类似的东西来获得样本大小

最新更新