当前位置: 首页>>技术问答>>正文


产生白噪音以平静婴儿

, , ,

问题描述

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

无论如何,“我需要购买的”这些东西之一是white noise发电机。白噪声定义如下:

a random signal is considered “white noise” if it is observed to have a flat spectrum over the range of frequencies that is relevant to the context. For an audio signal, for example, the relevant range is the band of audible sound frequencies, between 20 to 20,000 Hz.

我可以购买几件东西。 Android应用程序,我确信只有pre-generated噪声的微小剪辑,一直到mega-expensive true-random白噪声发生器。

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

我知道我可以从youtube-dl下载一个视频,但是除了版权之外,频率压缩在网上很糟糕,我希望full-white-frequency的好处。如果这样的事实际存在。另外我是一个贪婪的惩罚者,我相信如果可以通过命令行完成某件事情,那就是我们应该这样做的方式。无论如何,我就是想这样做。

所以我们有类似/dev/urandompaplay的东西。有没有一种明智的方法来获取随机数据并将其引入可听见的白噪声范围内并从我的扬声器中传出?写入文件的答案也可以。重要的是一个稳定的range-confined样本。没有声音。

注意:不会理解生成brown note的答案☹

最佳解决方法

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

你可以从官方仓库安装它,只需输入:

sudo apt-get install sox

更新,奇特的答案(悦耳的海浪):

在用SoX做了一点试验之后,我想出了这个伟大的命令,它模拟了在阳光灿烂的夏日流过平坦的沙滩的舒缓的海浪声,仿佛海中柔和的杂音……

那么,足够的诗歌,这是命令。听你自己。

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

说明:

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

修改:

  • 计时器:您可以通过指定秒数,分钟数和秒数(mm:ss)或brownnoise之前的小时数,分钟数和秒数(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%的偏移量,因此brown-pink噪音总是以至少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

它甚至会向你展示一些很好的数据,而”playing”:

$ 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

它自带的默认声音很糟糕,但您可以下载其他声音,如森林雨,喷泉和&其他。您可以将其设置为从系统开始,甚至将其设置为在一段时间后停止。

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。

进入“生成>噪音…”

选择”Brownian”(比实际白噪声更不积极)。振幅和持续时间并不重要。

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

第七种方法

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

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

由于-f lavfi-i的参数被解释为lavfi过滤器图形。 -showmode 0禁用ffplay的默认音频可视化器窗口,默认情况下会显示audio-only输入。

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


你也可以使用mpv,一个很好的mplayer分支,或者其他允许ffmpeg过滤器图形的玩家。例如

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

如果您为自己喜欢的播放器配置了自定义audio-output设置,这可能会很方便。

第八种方法

installed-by-default实用程序speaker-test会生成粉红噪声(这与@nightingale一样,是您真正想要的,而不是白噪声)。它可以设置为通过运行无限期地进行

speaker-test -l 0

第九种方法

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

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

这不是非常有想象力,所以我已经添加了一个计时器来补偿:)。 duration设置是在几秒钟内,这将运行1小时,然后关闭,希望宝宝将已经解决了… …

第十种方法

白噪声在数学上是频率的均匀分布。您可以使用/dev/random/dev/urandom中的随机数据生成它。如果要更改产生的噪声的”tone”(例如,通过移除较低的频率使”weighty”更少,或通过移除更高的频率使”damper”更少),则可以使用诸如dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576的命令来产生一些白噪声,然后将其导入Audacity,并使用high-pass和low-pass滤波器根据自己的喜好进行调整(使用滤波器时请记住平均人耳会听到高达20kHz的频率)。

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/462.html,未经允许,请勿转载。