产生白噪声,让宝宝平静下来

我有一个三周大的婴儿。 偶尔她会拒绝睡觉。 有些人告诉我这就是生活方式,有些人告诉我,我需要买东西来解决它。 在这个育儿游戏中,这正成为一种令人震惊的常见模式。

无论如何,“我需要购买”这些东西中的一个是白噪声发生器。 白噪声定义为:

如果观察到随机信号在与上下文相关的频率范围内具有平坦频谱,则将其视为“白噪声”。 例如,对于音频信号,相关范围是可听声音频率的频带,在20到20,000Hz之间。

我可以买几件东西。 适用于Android的应用程序,我确信它只会播放预先生成的噪音的一小部分,一直到超级昂贵的真正随机白噪声发生器。

我想生成自己的白噪声样本

我知道我可以许多video中的一个下载youtube-dl ,但版权除外,频率压缩在网上我很想要全白频率的优点。 如果这样的事实际存在。 此外,我是一个贪婪的惩罚,我相信,如果可以通过命令行完成某些事情,那就是我们应该这样做的方式。 无论如何,这就是我的目标。

所以我们有像/dev/urandompaplay这样的东西。 是否有一种明智的方法可以随机获取数据并将其引入可听见的白噪声范围和扬声器中? 写入文件的答案也可以。 重要的是稳定范围限制的样本。 没有尖叫声。

注意:产生棕色音符的答案将不被理解☹

使用瑞士军刀生成声音, SoX

您可以从官方存储库安装它,只需键入:

 sudo apt-get install sox 

更新,花哨的答案(赏心悦目的海浪):

在用SoX试验了一下之后,我想出了这个伟大的命令,它模仿了大海的柔和杂音,在阳光明媚的夏日,它在平坦的沙滩上流动着舒缓的海浪声……

嗯,足够的诗歌,这是命令。 倾听自己。

 play -n synth brownnoise synth pinknoise mix synth sine amod 0.3 10 

说明:

此命令首先产生并混合棕色噪声和粉红噪声,我发现这是最舒适和自然的噪音。 然后它产生0.3 Hz的正弦波,偏移率为10 %,并使用它来调制混合噪声的幅度,以产生海浪声。

修改:

  • 计时器:
    您可以通过在brownnoise之前指定秒数,分钟数和秒数( mm:ss )或小时数,分钟数和秒数( hh:mm:ss )来添加计时器并限制播放持续时间。 这是一个小时的例子:

     play -n synth 1:0:0 brownnoise synth pinknoise mix synth sine amod 0.3 10 
  • 波频率:
    如果您希望波浪或多或少地频繁到达海滩,只需更改用于幅度修改的正弦波频率(上述命令中为0.3 )。 该数字表示每秒的波浪量,因此0.1 Hz的频率将导致每秒0.1波,因此一波持续10秒:

     play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10 
  • 最小背景噪音量:
    用于幅度调制的正弦偏移到10 %的偏移,因此棕色 – 粉红色噪声将始终以至少10%的音量播放。 如果您想要更强或更弱的背景噪音,请根据需要增加或减少此偏移。 以下是20 %背景噪音的示例:

     play -n synth brownnoise synth pinknoise mix synth sine amod 0.3 20 

老而无聊的回答(纯白噪音):

现在,无限播放白噪声的最简单命令(直到你用Ctrl + C中止它)是这样的:

 play -n synth whitenoise 

如果您更喜欢时间限制,可以使用hh:mm:ss格式添加时间限制。 以下命令会产生一个半小时的噪音,例如:

 play -n synth 01:30:00 whitenoise 

它甚至可以在“玩”时向你显示一些不错的统计数据:

 $ play -n synth 00:00:05 whitenoise Encoding: n/a Channels: 1 @ 32-bit Samplerate: 48000Hz Replaygain: off Duration: unknown In:0.00% 00:00:05.12 [00:00:00.00] Out:240k [!=====|=====!] Hd:0.0 Clip:0 Done. 

白噪声是折磨。

特别适合婴儿的耳朵。

这是因为白噪声在高频中具有太多能量。

您可以使用sox实用程序中的play命令生成粉红噪声:

 sudo apt-get install sox play -t sl -r48000 -c2 -n synth -1 pinknoise .1 60 

调整.1和60的值以满足您的需求。 粉红色的噪音对耳朵不那么刺耳,希望你需要的声音

不确定这会产生覆盖整个频谱的真实白噪声,但这很简单

 pacat /dev/urandom 

似乎在我的系统上做了伎俩(不需要安装任何新东西或添加存储库)。

我是一个贪婪的惩罚,所以我会给你GUI方式。 看看ANoise吧 。

它附带的默认声音很糟糕,但您可以下载其他声音,如Forest Rain,Fountain和其他声音。 您可以将其设置为从系统开始,甚至将其设置为在一定时间后停止。

 sudo add-apt-repository ppa:costales/anoise sudo apt-get update sudo apt-get install anoise 

ANoise Code ,以及额外的河流声音:

 sudo apt-get install anoise-community-extension1 

打开Audacity。

进入“生成>噪音……”

选择“布朗”(比实际白噪声更不具侵略性)。 幅度和持续时间并不重要。

使用Shift +播放按钮循环播放。

默认情况下安装的实用speaker-test产生粉红噪声(正如@nightingale一样,它是您真正想要的,而不是白噪声)。 它可以设置为通过运行无限期地这样做

 speaker-test -l 0 

FFMpeg有一个音频噪声源滤波器。 你可以使用ffplay播放它:

 ffplay -f lavfi -showmode 0 -i 'anoisesrc=color=brown' 

arg到-i被解释为lavfifilter图,因为-f lavfi-showmode 0禁用-showmode 0的默认音频可视化窗口,默认情况下它显示为仅音频输入。

正如您可以从ffmpeg -h filter=anoisesrc的输出中看到的ffmpeg -h filter=anoisesrc ,您可以选择任何幅度和采样率的棕色/粉红色/白色噪声,可选择具有有限的持续时间。


你也可以使用mpv ,mplayer的一个很好的分支 ,或其他允许ffmpeg filtergraphs的玩家。 例如

 mpv av://lavfi:anoisesrc=color=brown 

如果您为自己喜欢的播放器配置了自定义音频输出设置,这可能会很方便。

我看到没有人使用过aplay ,所以请尝试以下方法:

 aplay --channels=2 --format=S16_LE --rate=44100 --duration=3600 /dev/urandom 

它不是非常富有想象力,所以我添加了一个计时器来补偿:)。 duration设置以秒为单位,因此这将运行1小时然后关闭,希望宝宝将在那时安顿下来…

白噪声在数学上是均匀的频率分布。 您可以使用/dev/random/dev/urandom随机数据生成它。 如果你想改变产生的噪音的“音调”(例如通过去除较低的频率使其减小“重量”,或者通过去除较高频率使其“阻尼”)那么你可以使用诸如dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576的命令dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576生成一些白噪声,然后将其导入Audacity并使用高通和低通滤波器根据您的喜好进行调整(使用滤镜时记住)平均人耳会听到高达20kHz的频率)。

编辑:Audacity也可以产生白噪声。

不合理的sox Tom Swiss使用以下代码(使用sox )来生成白色/粉红色噪声。 您需要先安装sox( sudo apt install sox ),然后使用以下代码创建一个shell脚本:

 #!/bin/sh len='7:00:00' if [ "$1" != '' ]; then len=$1 fi play -t sl - synth $len pinknoise band -n 1200 200 tremolo 20 .1 < /dev/zero 

帽子提示http://unreasonable.org/white_noise_generator_with_sox_for_Linux

免责声明:我自己还没试过

还有Renoise,一个非常强大的多平台音频音序器,尽管完整版是商业版。 然而,演示版没有太多限制,可以让你做你想做的事情,并为生成的声音添加滤镜,效果等。

http://www.renoise.com

带有低通滤波器的真正的白噪声,以及为了获得良好的自然效果而添加的一些合唱和混响,听起来非常令人愉悦。