Audio Super Resolution with Neur

2018-11-19  本文已影响63人  Mordekaiser

Audio Super Resolution with Neural Networks

论文:Audio Super Resolution with Neural Networks
代码: Github

CV方向的超分辨研究已经非常多了,但是音频方向的超分辨研究却相对较少。作者的这篇文章就是开山之作,已经发表在ICLR2017上,从项目主页的Demo来看,效果还不错。但是作者也指出了几个问题:


总体思想

输入低分辨率的音频时间序列,训练一个Encoder-Decoder模型,输出高分辨率的音频时间序列。思路和CV的超分辨其实差不多。就是在低分辨率音频信号中插入高分辨细节。

网络结构如下:


网络结构图

左边输入的是原始低分辨率的音频信号,通过B个下采样的Blocks(每次下采样,feature map维度减半,滤波器大小翻倍),然后再通过B个上采样Blocks(每次上采样,feature map维度扩大一倍,滤波器大小减小一半)。底层特征通常对应wavelet-style features, 高层特征对应phonemes。每个Block的结构如下:


Block
其中,上采样的Block和下采样对应的Block还使用Skip Connection。上采样的DimShuffle是借鉴Subpixel shuffling layer。

还有,作者输入的音频信号到底是以什么样的形式输入的?
结合源代码和论文发现,作者首先把一段音频时间序列(就是一维数组,每个数组元素代表时间维度上的幅值,这里有个介绍音频信号的入门文章)进行下采样(下采样方式:先进行8阶切比雪夫滤波器滤波,然后降采样,然后插值上采样。这样就保证了低分辨率音频序列和高分辨长度一致。总之和图像数据超分辨的处理方式差不多),这样就得到了低分辨音频序列,而高分辨音频序列就是下采样之前的序列。这样就有了训练样本对,整个模型就可以训练起来了。


实验结果

下图是作者的实验结果,最左边是参考的频谱图,左二是输入,左三是插值算法的结果,左四是作者的结果。可以看出,作者的方法确实较好的恢复了高频信息。


实验结果

总结

读完这篇论文的整体感觉就是很简单粗暴,就像超分辨的开山之作一样,也许好用的方法总是简单的!最起码,在事后看起来是那么简单!

上一篇 下一篇

猜你喜欢

热点阅读