audio - 使用 Sox/FFMPEG 使声音高到听不见或无法察觉

标签 audio ffmpeg sox

我想发出声音太高而无法被人耳检测到。据我了解,人类可以听到 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 . This question有一些关于使用 SoX 生成简单音调的好信息。

关于audio - 使用 Sox/FFMPEG 使声音高到听不见或无法察觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40305906/

相关文章:

audio - 删除mp3文件中多余的样本/声音

python - 在 Python 中为子处理调用 FFMPEG 应用循环

iphone - 系统音频播放使运行iOS 4.2.1的iPhone保持静音

c++ - 将 AVPackets 混合到 mp4 文件中

ffmpeg - 如何从透明图像创建透明视频?

ffmpeg - ffmpeg 是否支持将原始视频序列编码为原始 Theora Packets/Elementary bits tream

python - 从python中的sox获取.wav的持续时间

android - 使用 Android 版 sox 创建小型短音频文件

java - 将音乐文件导入到jar文件中

c - 在 C 中使用不同音量的 ALSA 播放多个 wav 文件