【问题标题】:Making Sound To High To Hear Or Undetecable with Sox/FFMPEG使用 Sox/FFMPEG 使声音高到听不见或无法察觉
【发布时间】:2017-03-11 09:28:48
【问题描述】:

我想发出高到人耳无法察觉的声音。据我了解,人类可以听到 20hz 到 44000hz 之间的声音。

使用 sox,我会发出 50000hz 的声音。问题是我仍然可以听到它。我使用的命令是这样的:

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

要么我的听力非常好,要么我做错了什么。如何使用 FFMPEG 的 SOX 使这种声音无法检测到?

【问题讨论】:

  • 他们也没有,我只需要能够产生无法检测到的音频文件。你知道什么方法吗?
  • Greg,是的,但请理解,这与播放的扬声器是否能够播放无关,这对我们的用例来说并不重要,只是能够创建音频。

标签: audio ffmpeg sox


【解决方案1】:

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

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

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

我认为您的部分问题是您使用错误的语法将音高指定为soxThis question 有一些关于使用 SoX 生成简单音调的好信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2013-11-13
    相关资源
    最近更新 更多