» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[攻略]Gapless playback 实现无间隔播放 演唱会 切换歌曲中间有间隔 断档的解决方法

posted by wap, platform: MAC OS X
以前下歌从来没有注意过这个问题 最近下了一个演唱会的CD 中间的间隔实在让人受不了。
于是Google了半天终于搞明白了。

先来看看为啥会有间隔。
一般来说 原版CD是不会有间隔的如果 CD本身已经有间隔那就没有办法了
我们这里说的间隔是指 CD / WAV 这种无损格式被压成 有损格式的时候 (MP3 或者 AAC)有损编码器会在 歌曲开头加入 Encoding Delay 和 结尾加入 Padding. 这2个东西都是因为 有损格式不可避免要加入的。 由于MP3一开始设计的时候考虑不周,导致到后来发现问题的时候已经太晚。 也就是说 一张不会停顿的CD 只要分轨压缩了必定产生 Gap (间隙)。 就算还原成 WAV还是会有 间隙。

现在的方法是 让有损编码器纪录自己在开头加了多少 Delay 后面加了多少 Pading 纪录在文件里,然后告诉播放器,播放器根据编码器留下的数据做出调整故意挑过那个区域,从而实现无间隙播放有损格式。 AAC出来晚貌似有考虑这个问题。所以一般 AAC编码器都有这个功能

目前MP3 最好的编码器 LAME已经支持这个功能(貌似也只有 LAME才有这个功能),你不用设置任何附加参数就会保存那些参数。 AAC编码器普遍支持这个留下参数的功能。 不过有的可能要附加参数不是默认的。

那么问题是以前的用不加参数压制的音乐有啥办法? 答案是没有简单的方法
必须手动。

1 下载最新 foobar2000
2. 导入有 GAP的 MP3.
3. 转换全部或者部分的 歌曲称为 WAV 或者 AIFF 等无损格式 (必须)!
4. 用音频编辑器 查看 从第二受开始的歌曲 前面有多少个 静音的 Frame, 查看歌曲后面有多少个静音的 Frame。 一般来说 同一个编码器编出来的 delay 或者 pading 是一样的。 如果你发现 都是一样的 清你纪录下 这些数值(单位必须是 frame)
5. 更改 Foobar200 的设置

6. 删除那些 Wav /AIFF 再次载入 MP3.
7. 用 Rebuild Mp3 stream 处理那些 MP3.
8. 处理完成后 对处理完成的 MP3 再次编辑 使用"Edit Mp3 gapless playback information" 选项 对每一首 MP3 加入你刚刚观察到的 delay 选项。 padding那里不动它就好。
9. 加完后 你再次用 foobar 播放就因该能听到连续的音乐了。 但是光光这样还不行。 因为这样只有 foobar 可以连续播放。 其他播放器不一定行。 这个时候 你需要
10. 再次将处理完成的 mp3 转换成 wav
11. 查看 新的wav是否有间隙
12. 再次用新的编码器 比如 AAC 或者 LAME 压缩带有信息的 文件
13. 导入其他播放器 比如 iTunes 就能实现无间隙播放。

本帖最后由 beterhans 于 2015-11-6 12:04 通过手机版编辑


TOP

演唱会歌曲之间不就是观众欢呼吗,断一下无所谓了



TOP

发新话题
     
官方公众号及微博