无缝循环:接缝才是关键
会"咔"一下的循环,比没有音乐更糟。那声点击每隔几秒就把注意力拽走,而且一旦听出来,就再也忽略不掉。做好无缝,靠的是后处理,不是生成。
为什么生成的循环会有接缝
音乐模型写的是有头有尾的一首曲子——前奏和尾声。直接循环,你会听到尾声撞上前奏:一个空隙、一声镲、一次转调。接缝之所以明显,是因为两端从来没打算接上。
把最后一秒交叉淡入到第一秒能缓解,但简单的交叉淡入会让重叠部分音量翻倍、节奏错位。结果就是每秒循环一次,就"咚"一下。
我们的做法
我们在采样级别把尾巴混进头部,让重叠部分音量恒定、节拍不脱格。这样曲子从哪一拍结束,就从哪一拍开始。
在此之前还会裁掉开头的静音——因为开头有 0.4 秒空白的循环,每转一圈就会慢半拍。
怎么选循环长度
选一个能整除场景的长度。菜单场景是 60 秒,就用 30 秒的循环,正好重复两遍,每次都落在乐句边界。45 秒的循环会落在句子中间,显得随意。
游戏和应用的氛围音乐,30 或 60 秒通常最合适。更长的循环更难保持有趣,也更占内存。
什么时候不该循环
不是所有东西都该循环。30 秒片子下面的音乐,就该是 30 秒——接缝根本播不到。只有音频真的会重复播放时才用循环:菜单、等待界面、氛围铺底、交互场景。
拿不准就两个都生成,线性视频用非循环版本更保险。
做一个无缝循环 →