我正在尝试实现基于二维特征融合的水声船辐射噪声识别综合优化论文。
我最大的问题是将.wav
文件转换为二维数组。论文中提到了
数据库中每个原始记录的信号都使用长度为 2048 的汉明窗口进行框定,重叠率为 50%。采样频率 fs=52734 Hz,每个采样持续约 40 ms
并且
利用四阶 Symlet 小波的 7 级 WP 分解将每个原始样本分解为 128 个子带。
我非常感谢使用 Python 理解和实现这一点的任何帮助。
我正在尝试实现基于二维特征融合的水声船辐射噪声识别综合优化论文。
我最大的问题是将.wav
文件转换为二维数组。论文中提到了
数据库中每个原始记录的信号都使用长度为 2048 的汉明窗口进行框定,重叠率为 50%。采样频率 fs=52734 Hz,每个采样持续约 40 ms
并且
利用四阶 Symlet 小波的 7 级 WP 分解将每个原始样本分解为 128 个子带。
我非常感谢使用 Python 理解和实现这一点的任何帮助。
您可以使用librosa.utils.frame计算重叠窗口,window_length=2048 和 hop_length=1024(50% 重叠)。可以使用带有 window="hamming" 的librosa.filters.get_window计算窗口函数
框架函数中的每个窗口都乘以窗口函数。然后您可以使用带有 wavelet="sym" 和 level=7 的pywt.wavedec来获取每一帧的输出。它应该有 128 个维度。