问题描述
我想做这样的思考:
- 对音频文件进行分段(将其划分为帧)- 为避免信息丢失,帧应重叠。
- 在每一帧中,应用窗口函数(Hann、Hamming、Blackman 等) - 以尽量减少开头和结尾的不连续性。
我设法将音频文件保存为一个 numpy 数组:
def wave_open(path,normalize=True,rm_constant=False):
path = wave.open(path,'rb')
frames_n = path.getnframes()
channels = path.getnchannels()
sample_rate = path.getframerate()
duration = frames_n / float(sample_rate)
read_frames = path.readframes(frames_n)
path.close()
data = struct.unpack("%dh" % channels * frames_n,read_frames)
if channels == 1:
data = np.array(data,dtype=np.int16)
return data
else:
print("More channels are not supported")
然后我对整个信号做了一个汉明窗口:
N = 11145
win = np.hanning(N)
windowed_signal = (np.fft.rfft(win*data))
但我不知道如何在使用汉明窗口之前将我的信号分成帧(段)。 请帮助我:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)