14|音效三剑客:变调、均衡器、混响
冯建元
你好,我是建元。
你是否很好奇《名侦探柯南》里的变声器在现实中能否实现?百万调音师能让本来唱歌跑调的人的歌声变得好听,这到底是用了什么神奇的方法?其实今天我们要讲的音频中的音效,就是为了实现这些变声、修音等特效而设计的一系列的音频处理算法。
为了实现某种特定的效果,音效算法的种类有很多,这节课我主要介绍三种常见的音效算法:变调、均衡器和混响的设计和使用方法。
变调
其实在之前讲弱网对抗部分的时候,我们在做快慢放操作时就使用到了变速不变调算法,这其实是变调算法中的一种用法。在讲算法具体实现之前我们先想一下,变调的物理含义是什么?
之前我们讲语音信号分析的时候说过,不同的人发音的基频是不一样的。而音调和基频是直接相关的,要变调其实就是要改变基频。而基频的本质是一个信号的循环周期的倒数,比如基频是 250Hz,那么当前时间的语音信号就是以 4ms 为周期的信号。我们要变调,其实就是把这个循环周期进行扩大或者缩小。
如图 1 所示,如果我们把语音信号的基频提升一倍,或者说提升一个八度或者 12 个半音,那么时域信号(绿线部分,上面为变调前,下面为变调后)语音的波形还是很相似的,只是每一个周期都缩短了一半。
再看看频域信号(红色部分)是不是变得更稀疏了?最下面的那根亮线代表的基频从 250Hz 左右提升到了大约 500Hz 的位置。由于谐波的频率是基频的倍数,所以谐波之间的间隔也变大了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了音频处理中的三种常见音效算法:变调、均衡器和混响。其中,变调算法通过重采样和信号拼接实现音调的提升或降低,而均衡器则通过滤波器调整不同频段的音频能量分布。关于混响算法,文章提到了采样混响和人工混响效果器的生成原理,以及Schroeder和Moorer混响模型的结构。此外,文章还提到了混响生成器的参数调节和开源库的应用。总的来说,本文对音频处理中的常见算法进行了深入浅出的介绍,为对音频处理感兴趣的读者提供了一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《搞定音频技术》,新⼈⾸单¥59
《搞定音频技术》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- 大土豆这章来的正好,我明天在部门分享音频处理,正好用的上,哈哈。日常的声音处理,各种重采样,男女生变调,音量加减,淡入淡出,变速不变调,变调不变速等,其实ffmpeg+soundtouch都可以完美实现了。我们业务开发基本是游标卡尺式的开发,看字节数组的长度就基本完事了,输入一帧PCM 4096字节,变速不变调2倍的话,输出是2048字节,那就稳了,如果是变调不变速呢,还是4096字节,如果是48000重采样成8000呢?4096/6的结果就稳了。
作者回复: cool,学以致用。
2021-12-223 - 四十老师,请问是否可以通过混响来模拟不同设备录制的声音差异,我发现不同app(尤其h5),不同设备录制出的音频,人声音色变化很大,请问这个可以通过混响来模拟吗,通过加入混响数据增强,来提高模型效果。
作者回复: 混响主要和房间的大小结构有关系,而不同设备的音色差异主要是麦克风硬件设备的采集能力的差异。如果人声本声录制的地方混响比较小,适当的加入混响可以提升听感
2022-04-222 - 劝老师,你好,用ffmpeg的均衡器filter调了重低音后出现暴音一般要怎么处理
作者回复: 一般会加一个limiter对幅度的范围进行限制
2022-02-24 - tony通过均衡器调整达到美声效果有哪些开源项目呢?谢谢
作者回复: 均衡器的实现github上有很多,但均衡器其实主要的是需要调节的参数。如何通过各种均衡器参数实现听感调整可以参考一下李金城的《混音全揭秘》
2022-01-14 - Geek_495a1c不知道老师有机会讲一下根据pcm分析常见的音频问题,或则有什么推荐的文章。
作者回复: 根据PCM直接分析需要比较深的经验理解,其实分析音频的起手式一般是把链路中每个中间步骤的PCM都下载下来逐一排查是哪一步出了问题。如果直接从最终的PCM来分析问题即使是多年经验的音频工作者也是容易犯错的
2021-12-26 - springXu哈,不懂就问。像谍中谍里的,让别人说一段话后,就可以用个麦克风说的话和那位一样了。这个是如何在短时间内做到的?记得网易也有个让使用者读十句句子,就可以用TTS的方式,让这个人帮你读文章了。这又是如何实现的?
作者回复: 哈哈这个问题正是下一节课的内容,声纹TTS或者说声纹变声
2021-12-235 - Geek_345096请问下冯老师,这样理解有问题嘛。 实现变调不变速比如您说的250hz变成500hz的基频,原来周期是20ms的信号,现在周期是10ms,人听着速度变快了,想变慢就要还信号还是在20ms的时间播放,通过重构10ms的信号,时间变成20ms,可以通过往10ms信号里面加空帧实现2024-02-25归属地:北京
收起评论