产生白噪声让婴儿平静

Oli*_*Oli 128 sound command-line audio-recording

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

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

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

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

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

我知道我可以youtube-dl众多视频中的一个中下载一个,但不考虑版权,在线频率压缩很糟糕,我想要全白频率的优点。如果真的存在这样的事情。另外,我是惩罚的饕餮者,我相信如果可以通过命令行完成某件事,那这就是我们应该做的。无论如何,这就是我的目标。

所以我们有像/dev/urandom和这样的东西paplay。有没有一种明智的方法来获取随机数据并将其引导到白噪声的可听范围内并从我的扬声器中传出?写入文件的答案也可以。重要的是一个稳定的范围限制样本。没有吱吱声。

注意:生成棕色注释的答案不会受到赞赏?

Byt*_*der 174

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

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

sudo apt-get install sox
Run Code Online (Sandbox Code Playgroud)

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

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

好吧,足够的诗歌,这是命令。听自己说。

play -n synth brownnoise synth pinknoise mix synth sine amod 0.3 10
Run Code Online (Sandbox Code Playgroud)

解释:

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

修改:

  • 计时器:
    可以添加一个计时器,并通过指定(秒数,分钟和秒的数量限制的再现持续时间mm:ss)或小时,分钟和秒(数hh:mm:ss右之前)brownnoise。以下是一小时的示例:

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

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

    play -n synth brownnoise synth pinknoise mix synth sine amod 0.3 20
    
    Run Code Online (Sandbox Code Playgroud)

旧的,无聊的答案(纯白噪声):

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

play -n synth whitenoise
Run Code Online (Sandbox Code Playgroud)

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

play -n synth 01:30:00 whitenoise
Run Code Online (Sandbox Code Playgroud)

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

$ 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.
Run Code Online (Sandbox Code Playgroud)

  • @Caesar 使用这些工具的效果是有限的,但我认为`play -n synth brownnoise synth pinknoise mix synth 0 0 0 15 40 80 trapezium amod 0.2 10` 更接近你的要求:) (7认同)
  • 我编辑了我的答案并添加了一个花哨但简单的海浪声发生器命令,它比普通的白噪声更能取悦宝宝(和爸爸)的耳朵。 (6认同)
  • +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 秒一波);30% = 波浪之间的噪音水平;第一个 10% = 波浪上升部分的持续时间(超过 10 秒);第二个 10% = 当它开始下降时(它们都是 10%,所以一旦它的体积上升,波浪就会崩溃);整个波浪的 40% 持续时间:这意味着 100% - 40% = 60% 的时间花在波浪之间的等待上。 (3认同)
  • 我喜欢这个 - 但是正弦波音量变化并不是很像海滩上的海浪声。当海浪在海滩上破裂时,它需要迅速增加体积,然后以更慢的速度消失。有没有办法实现这一目标? (2认同)

小智 48

白噪音是一种折磨。

特别适合宝宝娇嫩的耳朵。

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

  • 虽然你说的有道理,但这并不能回答问题。 (25认同)
  • @ΈρικΚωνσταντόπουλος 我是 OP 的好朋友。另外,他要求发出声音来“安抚婴儿”。曲折的噪音很少能使人平静。 (22认同)
  • @leftaroundabout 如果它可以挽救婴儿的听力,我认为这是可以的。即使在技术上最好将其发布为评论而不是答案;它的好处多于坏处。感谢您指出这一点,夜莺,**欢迎使用 AskUbuntu!** (19认同)
  • 回答“不,你不想要那个”是公平的游戏。暗示“粉红色”噪音的其他答案似乎考虑到了这一点。如果它继续解释这个答案会*更好*,但它仍然是我的+1。 (18认同)
  • 虽然我通常讨厌“不,你实际上不(或不应该)想要这个”答案和评论,但我觉得真正的白噪声和口语“白噪声”之间的区别非常重要,因此这个答案是值得的。+1。 (9认同)
  • 水已经被用来折磨人,就像石头、金属乐队、巴尼的主题曲等等一样。一个东西被用来折磨的事实并不会使那个东西成为折磨。 (6认同)
  • @Oli 对我来说似乎不是“公平游戏”。OP 专门要求产生 while 噪音,而不是它是否是折磨...... (4认同)
  • 这是一个没有根据的说法,也是错误的说法。声音的能量是其振幅的函数,而不是频率分布的函数。当然,在给定的 dB 水平下,白噪声在高频时比其他类型的噪声具有更大的能量比例,但认为白噪声从根本上是一种折磨并且婴儿耳朵有问题的想法显然是错误的。 (4认同)
  • 这是完全错误的。有免费的研究表明婴儿喜欢白噪声。 (3认同)
  • @nightingale 任何播放的声音足够大且时间足够长的东西都是折磨人的。不管它是什么。我想,使用均衡器并选择合适的扬声器会起到镇定作用。 (2认同)

Col*_*ing 30

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

sudo apt-get install sox
play -t sl -r48000 -c2 -n synth -1 pinknoise .1 60
Run Code Online (Sandbox Code Playgroud)

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

  • 你说我可以调整它们,但 `.1` 和 `60` 参数实际上是什么意思? (5认同)
  • @bc2946088 使用“play -n synth 12:00:00 whitenoise”可以完成 12 小时的纯白噪声 (4认同)

dad*_*x86 23

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

pacat /dev/urandom
Run Code Online (Sandbox Code Playgroud)

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

  • @linolino 你不是在 Ubuntu 上吗?如果是,则必须安装它(除非您手动将其删除)。它由 `pulseaudio-utils` 提供,它甚至是实时系统的一部分(参见 [manifest](http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.manifest))。如果您没有它,那么您的安装可能已损坏。我建议您打开一个新问题来解释问题并寻求有关如何恢复安装的帮助。 (2认同)

Mit*_*tch 17

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

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

sudo add-apt-repository ppa:costales/anoise
sudo apt-get update
sudo apt-get install anoise
Run Code Online (Sandbox Code Playgroud)

ANoise Code,对于额外的河流声音:

sudo apt-get install anoise-community-extension1
Run Code Online (Sandbox Code Playgroud)


小智 10

打开无畏。

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

选择“Brownian”(比实际白噪声更不激进)。幅度和持续时间无关紧要。

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


Pet*_*des 7

FFMpeg 具有音频噪声源过滤器。您可以使用ffplay以下方法播放:

ffplay -f lavfi -showmode 0 -i 'anoisesrc=color=brown'
Run Code Online (Sandbox Code Playgroud)

arg to-i被解释为 lavfi 过滤器图,因为-f lavfi. -showmode 0禁用 ffplay 的默认音频可视化器窗口,默认情况下它只显示音频输入。

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


您还可以使用mpvmplayer 的一个不错的分支,或其他允许 ffmpeg filtergraphs 的播放器。例如

mpv  av://lavfi:anoisesrc=color=brown
Run Code Online (Sandbox Code Playgroud)

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


Jul*_*les 6

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

speaker-test -l 0
Run Code Online (Sandbox Code Playgroud)


and*_*.46 5

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

aplay --channels=2 --format=S16_LE --rate=44100 --duration=3600 /dev/urandom
Run Code Online (Sandbox Code Playgroud)

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