一、背景
今天对Hybrid Transformer Demucs代码进行解读,目标:明确图c中各个模块对应的代码具体在工程的哪个地方。解读的代码是开源工程中的htdemucs.py。
具体的paper解读看这篇文章。
二、代码解读
算法整体流程:图c其实是从下往上看的,时域信号(mixture):一方面经过左下的STFT变换到频域进行编码,另一方面直接进入右侧分支直接编码。时域编码和频域编码结束后进入一个由Transformer Encoder 组成的模块中进行时域和频域信息的交换。接着,时域和频域部分分别进行各自的解码。频域解码结束后利用ISTFT重新变换到时域,其结果和右侧的时域解码输出进行叠加得到最终结果,即分离后的人声、鼓声、Bass、其他。