扫码关注官方订阅号
如题,想要在两首曲子衔接的时候处理的平滑自然一点,怎么处理比较好?
认证0级讲师
从音乐制作上来说,两首歌曲衔接的处理有很多种手法,在这儿说说最常用的 cross fade(i/o),也叫交叉淡入淡出。
它的原理很简单,两首歌各取开头/结尾的一段(比如 4s)分别做淡入和淡出操作,并前一首歌结束前 4s 开始播放后一首歌就可以了。
所以要做的无非就是写一个函数,预先设定一个偏移量(如上的 4s,或转换为 frames,取决于你用的 library 的接口规格),然后从歌曲的总长 - 偏移量的位置开始,以一个很小的时间单位(如 100ms)循环降低歌曲的音量,一直到 0 为止。同时对下一首歌(你应该有个播放列表的对吧)做反向操作。最后在当前歌曲播放到偏移量位置的时候开始播放下一首歌曲即可。
歌曲的总长 - 偏移量
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
从音乐制作上来说,两首歌曲衔接的处理有很多种手法,在这儿说说最常用的 cross fade(i/o),也叫交叉淡入淡出。
它的原理很简单,两首歌各取开头/结尾的一段(比如 4s)分别做淡入和淡出操作,并前一首歌结束前 4s 开始播放后一首歌就可以了。
所以要做的无非就是写一个函数,预先设定一个偏移量(如上的 4s,或转换为 frames,取决于你用的 library 的接口规格),然后从
歌曲的总长 - 偏移量的位置开始,以一个很小的时间单位(如 100ms)循环降低歌曲的音量,一直到 0 为止。同时对下一首歌(你应该有个播放列表的对吧)做反向操作。最后在当前歌曲播放到偏移量位置的时候开始播放下一首歌曲即可。