我一直在使用 SoX 来产生白噪声。我正在寻求一种在整个轨道上调制音量的方式,这种方式将创建类似于以下的模式:
White noise envelope effect
我已经尝试过淡入淡出,但是淡入到 100% 的音量并淡出到 0% 的音量,这在这种情况下只是一种痛苦。
颤音效果也不是我所追求的,因为模式的频率会随着时间而变化。
唯一的另一种选择是将白噪声文件拆分为单独的文件,应用淡入淡出,然后将修剪应用到任一端,这样它就不会一直淡入淡出,但这似乎是很多不必要的处理。
我一直在查看这个示例 Using SoX to change the volume level of a range of time in an audio file ,但我认为这不是我所追求的。
我在 Ubuntu 中将命令行与 SoX 一起使用,但我对 ffmpeg 或任何其他基于 Linux 的命令行解决方案的建议持开放态度。
最佳答案
使用 ffmpeg,您可以使用音量过滤器
ffmpeg -i input.wav -af \
"volume='if(lt(mod(t\,5)/5\,0.5), 0.2+0.8*mod(2*t\,5)/5\, 1.0-0.8*mod(t-(5/2)\,5)/(5/2))':eval=frame" \
output.wav
上面过滤器中的表达式在 t=0 到 t=2.5 秒内将音量从 0.2 增加到 1.0,然后在 t=5 秒时逐渐降低到 0.2。这里的信封周期是 5 秒。
关于audio - SoX (Sound eXchange) 或 ffmpeg 中的包络模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37448151/