产生白噪声使婴儿平静


121

我有一个三周大的婴儿。有时她拒绝睡觉。有人告诉我这就是生活的方式,有人告诉我我需要买东西来解决它。这已成为该育儿游戏中一个令人震惊的普遍模式。

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

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

我可以买几件东西。适用于Android的应用程序,专用盒子,我敢肯定,它们会播放一小段预先生成的噪声,一直到超级昂贵的真随机白噪声发生器。

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

我知道我可以youtube-dl众多视频之一中下载一个,但除了版权,在线频率压缩非常糟糕,我想要全白频率的优点。如果这样的事情确实存在。另外,我是惩罚的嘴,我相信如果可以通过命令行完成某些工作,那么我们应该这样做。无论如何,这就是我的目标。

所以我们有类似/dev/urandom和的事情paplay。是否有一种明智的方法来获取随机数据并将其传输到可听到的白噪声范围内并从扬声器中传出?写入文件的答案也可以。重要的是稳定的范围限制样本。不qua。

注意:不会产生棕色提示的答案not


29
请参阅技术人员方面的其他答案。实际的我说,有一些冲浪/雨水/瀑布噪声的CD可能不是数学上纯的白噪声,但可能更接近您正在寻找的舒缓的耳朵糖果(并且可能是白噪声声望的起因) )。
xenoid

5
请问这个工作?
米奇

6
@Mitch指向的帖子未引用“棕色笔记”。“术语“布朗噪声”不是起源于颜色,而是源自发现布朗运动的罗伯特·布朗。”
阿德里安

4
将收音机调离任何频道吗?
gerrit

12
除非您已经教过宝宝皮尔逊(Pearson)的卡方检验,否则真正的随机性并不是一件大事。
PyRulez

Answers:


152

使用瑞士军刀SoX来生成声音。

您只需输入以下内容即可从官方存储库安装它:

sudo apt-get install sox

更新的花哨的答案(令人愉悦的海浪):

在对SoX进行了一些试验之后,我想出了一个很棒的命令,它以舒缓的海浪声模仿大海的柔和杂音,在一个阳光明媚的夏日,海浪在平坦的沙滩上流淌……

好吧,足够的诗歌,这就是命令。听你说

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

说明:

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

修改内容:

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

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

6
我编辑了答案,并添加了一个精美但简单的海浪声音生成器命令,该命令将使婴儿(和爸爸)的耳朵比普通的白噪声要好得多。
字节指挥官

2
我喜欢这个-但正弦波的音量变化实际上并不太像海滩上的海浪声。随着海浪在沙滩上破裂,它的音量需要非常快地增加,然后缓慢下降。有办法实现吗?
凯撒

7
@Caesar使用这些工具的能力有一个极限,但我认为play -n synth brownnoise synth pinknoise mix synth 0 0 0 15 40 80 trapezium amod 0.2 10离您要的东西更近了:)
hobbs

1
@hobbs,现在,如果重复频率不是那么规则... ;-) :-P
Rmano

2
+1。这是我调整后的版本:play -n synth brownnoise synth pinknoise mix synth 0 0 0 10 10 40 trapezium amod 0.1 30较长的时间使得很难注意到规律性。这些数字表示:0.1 =碰撞频率(0.1 Hz =每10秒1次波动);30%=波浪之间的噪音水平;1st 10%=波浪上升部分的持续时间(超过10秒);2nd 10%=当它开始下降时(两者都为10%,所以波浪一旦完成音量就崩溃了);整个波浪持续时间的40%:这意味着在波浪之间等待的时间为100%-40%= 60%。
托比亚

44

白噪声是一种折磨。

尤其适合婴儿的耳朵细腻。

这是因为白噪声在高频中能量过多。


25
尽管您已指出要点,但这并不能回答问题。
左右约

19
@leftaroundabout如果它可以节省婴儿的听力,我认为这是可以接受的。即使从技术上说,将其更好地发布为评论而不是答案也是如此;它弊大于利。感谢您指出这一点,夜莺,并欢迎来到AskUbuntu!
尼克·温伯格

18
一个回答“不,你不想要”的回答是公平的。暗示“粉红色”噪音的其他答案似乎已考虑到这一点。如果继续进行解释,这个答案会更好,但仍然是我+1。
奥利

22
@ΈρικΚωνσταντόπουλος我是OP的好朋友。另外,他要求发出噪音以“安抚婴儿”。曲折的声音很少平静下来。
奥利(Oli)

8
尽管我通常讨厌“不,您实际上不(或不应该)想要这个”答案和评论,但我觉得真正的白噪声和口语“白噪声”之间的区别非常重要,以至于这个答案值得。+1。
凯尔·斯特兰德

28

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

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

调整.1和60的值以适合您的需求。粉红的声音在耳朵上不会刺耳,希望是您需要的声音


我认为speaker-test也可以,但是我认为粉红噪声不是最佳选择,可以肯定是噪声,但是没有变化可能不是所希望的?

4
@ bc2946088使用以下方法可以实现12个小时的纯白噪声play -n synth 12:00:00 whitenoise
Nick Weinberg,

5
您说我可以调整它们,但.1and 60参数实际上是什么意思?
奥利(Oli)

.1在这里无关紧要;60是直流偏移。值越低,波形的量程(以安培为单位)越大,将其设置为接近100会导致其量程变小,因为它几乎已达到100%的全量程。
科林·伊恩·金

21

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

pacat /dev/urandom

似乎可以解决我的系统问题(无需安装任何新东西或添加存储库)。


听起来确实很像白噪声sox产生。
奥利(Oli)

2
@linolino您不是在Ubuntu上吗?如果是这样,则必须安装它(除非您手动将其删除)。它由提供pulseaudio-utils,甚至是实时系统的一部分(请参见清单)。如果您没有安装,则可能是您的安装已损坏。我建议您打开一个新问题,解释问题并寻求有关如何还原安装的帮助。
dadexix86

1
除非他们使用的是服务器版本。
Arronical

1
无论如何,您仍然可以使用aplay代替pacatalsa-utils似乎默认安装。
Ruslan

1
@ dadexix86实际上我有一个lubuntu。无论如何,在apt-get安装后对我来说不起作用。但ByteDefenders解决方案运行良好;-)
linolino

15

我是惩罚的嘴,所以给您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

+1我一直都在使用Anoise。但是它在16.04中有一些主要错误。
UniversallyUniqueID

10

打开Audacity。

进入“生成>噪声...”

选择“布朗”(比实际的白噪声更弱)。幅度和持续时间无关紧要。

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


6

默认情况下安装的实用程序会speaker-test产生粉红噪声(就像@nightingale一样,这是您真正想要的,而不是白噪声)。可以将其设置为无限期运行

speaker-test -l 0

5

FFMpeg具有音频噪声源滤波器。您可以使用ffplay

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

由于,arg to -i被解释为lavfi过滤器图-f lavfi-showmode 0禁用ffplay的默认音频可视化器窗口,默认情况下会在纯音频输入中显示该窗口。

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


您还可以使用mpv,mplayer的漂亮分支或其他允许ffmpeg过滤器的播放器。例如

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

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


5

我发现没有人使用过aplay,请尝试以下操作:

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

这不是想象力,所以我添加了一个计时器来补偿:)。该duration设置是在几秒钟所以这将进行1小时,然后关掉,希望宝宝届时将纷纷入驻......


3

数学上,白噪声是频率的均匀分布。您可以使用/dev/random或中的随机数据生成它/dev/urandom。如果要更改产生的噪声的“音调”(例如,通过删除较低的频率使其降低“权重”,或通过去除较高的频率使其降低“阻尼”),则可以使用命令dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576来生成一些白噪声,然后将其导入Audacity,并使用高通和低通滤波器将其调整到您喜欢的程度(使用滤波器时,请记住,平均人耳会听到高达20kHz的频率)。

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


2

unreasonable.org的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

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


它以8kHz的采样率输出,因此没有高于4kHz的噪声能量。:/适当的粉红噪音应该有些。但是,有趣的建议是在噪音上使用颤音/颤音滤波器。
彼得·科德斯

1
更好的解决方案?删除len='7:00:00'if [ "$1" != '' ];thenfi,增加了对噪音的无限支持。
EKons,2016年

1

还有完整功能的Renoise,一个非常强大的多平台音频定序器。但是,该演示版本没有很多限制,可以让您做自己想做的事,并为生成的声音添加滤镜,效果等。

http://www.renoise.com

带有低通滤波器的纯白噪声,可能还添加了一些合唱和混响以获得很好的自然效果,听起来会很令人愉悦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.