我正在阅读 Matlab 中的 .wav 文件。然后我以指定的采样频率 44100Hz 播放读取的文件。但是当我尝试播放以低采样频率采样的文件时,它会像我在快进模式中播放一样播放,这是因为我正在播放的采样频率高于文件的采样频率。
所以我的问题是如何找到我在 Matlab 中使用 wavread() 读取的文件的采样频率。我试图在频谱中转换读取信号,然后传递 fft() 信号的幅度,但它没有用。
有什么建议么?
观察wavread
可以返回采样频率Fs
如下:
[y, Fs] = wavread(filename)
首先,您可以使用此函数找到采样频率:
def read_samplepoints(file_name):
sampFreq, snd1 = wavfile.read(file_name)
samp_points = len(snd1)
data_type = snd1.dtype
return samp_points, data_type, sampFreq
使用 'folder_name'.'class_name'.read_samplepoints(file_name) 在终端中执行。返回序列中的最后一个数字将是采样频率。
要增强歌曲的低音,您需要使用低频段滤波器来仅捕获较低频率并保留较高频率。但是,这会使您文件中的所有频率出现您可能不想要的情况。另一种方法是将您的文件放入 audacity(或类似程序)并转到效果部分并调整低音和高音级别(类似于 iTunes 上的均衡器)。这是两个选项,可能还有更多选项,但请先尝试这些选项,看看它们会引导你到哪里。