用Sox/FFMPEG使声音高到听不到或检测不到



我想制造一个声音高到人耳无法察觉的声音。根据我的理解,人类可以听到20hz到44000hz之间的声音。

用sox,我发出的声音是50000hz。问题是我还能听到。我使用的命令是:

sox -n -r 50000 output.wav rate -L -s 50050 synth 3 sine 

要么我有超级好的听力,要么我做错了什么。我怎样才能使这个声音用FFMPEG的SOX检测不到?

人类的听力通常被认为在20Hz到20kHz之间,尽管大多数人听不到16kHz以上的声音。数字信号只能代表其采样率的一半,即奈奎斯特频率,因此,为了准确地为人耳再现音频,至少需要40kHz的采样率。在实践中,几乎总是使用44.1kHz或48kHz的采样率,为20-22kHz范围内的不可听声音留下足够的空间。

例如,这个命令生成一个采样率为48kHz的WAV文件,其中包含一个22kHz的正弦波,我完全听不到:

sox -n -r 48000 output.wav synth 3 sine 22000

我认为你的部分问题是你使用了错误的语法来指定sox的音调。这个问题提供了一些关于使用SoX生成简单音调的有用信息。

最新更新