如何使用 sox 创建均衡器曲线

How do I create a equalizer curve using sox

有人向我展示了如何使用 Audacity 过滤嘈杂的音轨。 Audacity forum link here

Audacity 接受 python 脚本命令,但不接受关键的降噪功能。 我一直在寻找一个命令行工具来完成这个过程,SoX 似乎是合适的。

Audacity 的第一步是应用以下内容: 效果 > 滤波器曲线 > 管理 > 出厂预设 > 电话滤波器

阅读 SoX 手册 - SoX 不提供滤波器曲线。 然而,SoX 确实提供了这一点。

equalizer frequency[k] width[q|o|h|k] gain Apply a two-pole peaking equalisation (EQ) filter. With this filter, the signal-level at and around a selected frequency can be increased or decreased, whilst (unlike band-pass and band-reject filters) that at all other frequencies is unchanged. frequency gives the filter’s central frequency in Hz, width, the band-width, and gain the required gain or attenuation in dB. Beware of Clipping when using a positive gain. In order to produce complex equalisation curves, this effect can be given several times, each with a different central frequency.

这是正确使用的 SoX 函数吗? 如何使用此功能实现EQ曲线?

我想您现在一定已经在其他地方找到了答案,但我是这样做的:

for file in *.flac; do sox "$file" "rha_$file" -S norm -7.3 equalizer 28 0.91q +6.7 equalizer 4585 1.17q -9.4 equalizer 5356 3.33q +8.4 equalizer 6627 1.58q +7.5 equalizer 11297 1.62q +6.2; done

标准是将文件归一化为-7.3dB。

sox 也接受效果文件,因此您也可以编写

for file in *.flac; do sox "$file" "rha_$file" -S blabla.txt; done

与blabla.txt包含

norm -7.3 equalizer 28 0.91q +6.7 equalizer 4585 1.17q -9.4 equalizer 5356 3.33q +8.4 equalizer 6627 1.58q +7.5 equalizer 11297 1.62q +6.2

或您要在此格式中使用的效果。另外,据我所知,效果文件应该以换行符结尾;否则它什么都不做。