基于第二十八届冯如杯科技竞赛“冠军路演赛”slides
阿卡贝拉艺术家们致力于用人声表现质感各异的音效。不知道大家是否设想过像他们一样,用自己的嗓音去表现各种不同的声音,甚至做的比他们更棒?
这样的音乐质感转换,和前段时间很火的图像风格转换是有联系的。把马的图像作为输入,加入斑马的图像作为风格样本,从而获得一个转换网络,把内容输入中的马替换为斑马。和这个一样,音乐质感转换就是输入歌曲A作为内容,输入音频B作为质感样本,最终获得一首有着A的内容和B的质感的全新曲目。
但是,和图像相比,音频上的这种转换,存在着三大困难。首先,学界缺乏表示音乐质感这一高阶特征的方法,使得我们难以把它向自然语言处理与图形图像方面的成熟模型上进行迁移;其次,主流音乐编辑软件的原理都是基于规则设计滤波器,速度很慢,效果也不好;最后,转换之后,重建输出音频也很复杂。我们针对这三大挑战,给出了完整的解决方案,实现了自由地变换音乐质感。
现在,我们进行演示,同时介绍我们创新的地方。
首先,我们把刚录的阿卡贝拉音乐拖拽进来。它会被传到云服务器,这样能避免占用本地计算资源,让软件变得更轻盈。
对这样的一段音频信号,如视频所示,经典的处理方法是通过短时傅里叶变化,去除相位信息,保留强度平面。但是,大家可以看到,除了下方的这一可观测局部外,没有任何音频特征。
研究表明,我们对声音强度的感知是非线性的。受到“分贝”定义的启发,我们进行变换。这样,特征就很明显了。因为存在大量噪声,我们还引入了在多种机器学习任务中取得很好的效果的注意力单元,进行滤波。
为了更好地突出质感这个高阶特征,方便神经网络对它进行处理,我们把谱扩展到了rgb色彩空间,从而实现了对音乐质感的可视化。我们就将在这个基础上进行转换。
我们截取十秒钟进行演示。
我们选择水声作为目标质感。
选择一种转换质量,点击确认就可以开始转换了。
这时,频谱图会进入我们从图像风格转换网络迁移过来的频谱质感转换网络。仅需单次前向传播,就能输出转换后频谱。这个过程的可解释性强,占用计算资源少。实验表明,与当前基于机器学习的最优方案相比,我们在性能上是具备明显优势的。
除此之外,我们设计了将粉噪声转换获得水流质感的实验,并与当前最优方法进行了结果对照。大家看,当前最优方法的输出频谱错误地保留了本应作为内容输入的粉噪声的质感;而右侧MusiCoder的输出频谱则几乎完美地继承了粉噪声的强度分布,又有效地吸收了水流的质感。相关的定量实验也说明,我们的模型的转换效果更好。
为了训练得到这个转换网络,我们基于FMA数据集,构建了含有超过三万段音乐的海量训练集,并借助VGG-19不断优化目标函数,确保了训练效果。
得到具备新质感的频谱后,为了克服开始时提到的重建音频难题,首先,我们设计了连续差分算法,对色彩矩阵进行快速重采样。
接着,通过逆变换,我们恢复了强度矩阵,并通过迭代使用griffin-lim算法,根据强度信息还原相位复平面,进一步重建出音频。为了高效,我们采取了并行架构。
综上,我们通过音频-频谱转换器、频谱变换网络和频谱-音频编码器三大模块,对音乐质感转换任务中 表示、转换与重建三大难点都有了突破。现在,让我们一起听听转换之后的,获得水流质感的音乐。
听起来还不错?
过去,想完成这种工作,需要依赖Adobe AU这种基于滤波规则的庞大、复杂而且耗时的专业软件。他们需要很长的入门时间,且难以对音乐进行全局性整体性的质感转换。比如说,这些软件可以完成讲话人的变声,但是无法在不改变曲调的前提下,顺利实现对歌唱者的变声。对于我们刚刚演示的变换,一名熟练的操作员也需要几小时才能完成。
因为MusiCoder在算法与实现上的双重优势,所以它在消费、专业和学术市场都有广阔的前景。
作为首款产品化的相关软件,MusiCoder现已取得一项软件著作权,涉及的核心算法已经整理为论文,投到了计算机音乐界的国际顶级会议ISMIR。我们现在已经在github上开源代码,并在sourceForge上提供了下载镜像。欢迎各位同学们访问下载,进行体验;也欢迎到B站给我们的介绍视频投币。
目前,我们已经发布了Windows客户端,未来,我们还将把系统迁移到更多平台。除此之外,我们将在已有的大约十种目标质感基础上继续扩展,开放API,实现项目的推广与升级。