两年前的坑 Remake,大概是最接近 DSEE HX 的实现。
逆向
- 准备一段 20Hz~20kHz sweep sine 音频,持续时间在 10s 以上;
- 丢进启用 DSEE HX 的 Sony Music Center for PC 播放;
- 使用音频回环录制播放声音,频谱长这样:
- 肉眼观察与多次 DSB 调制很像,用代码实现 SSB 调制感觉也很像:
- 对比观察 DSEE HX 的 Sweep 高频部分有消失的频率,猜测是使用了梳状滤波器去除某些放到令人不适的频带。具体的应该是:
1kHz、3kHz、5kHz、7kHz、9kHz、10.5~12.5kHz、15.5~17.5kHz、19kHz、21kHz。
原理
将原始音频多次 SSB 调制叠加。
实现
详见源代码 -> gist (暂时没有实现完整的梳状滤波器)
zansei_impl()
超参数:
m
: 调制次数。数字越大越精细,同时速度越慢。decay
: 控制衰减幅度。调制的频率越高,衰减越大,增大数值加快衰减速度。11
: 滤波器阶数。数值越大,各调制频段间过渡越明显,同时处理速度越慢。3000
: 预处理高通滤波器截止频率。过滤掉能量集中的低频部分,使调制到高频的部分更平缓。16000
: 后处理高通滤波器截止频率。过滤掉调制结果中与原本频段重叠的部分,避免影响听感。
Demo
音源为抓取自 SoundCloud 的 128kbps MP3。
Before:
After:
参考