Gerar ruído branco para acalmar um bebê

115

Eu tenho um bebê de três semanas de idade. Ocasionalmente ela se recusa a dormir. Algumas pessoas me dizem que é assim que a vida é, algumas pessoas me dizem que preciso comprar coisas para consertar. Isso está se tornando um padrão alarmante comum neste jogo dos pais.

De qualquer forma, uma dessas coisas "Preciso comprar" é um gerador de ruído branco . Ruído branco definido como:

  

um sinal aleatório é considerado "ruído branco" se for observado que ele tem um espectro plano na faixa de frequências que é relevante para o contexto. Para um sinal de áudio, por exemplo, a faixa relevante é a faixa de freqüências sonoras, entre 20 e 20.000 Hz.

Existem várias coisas que posso comprar. Aplicativos para Android, caixas dedicadas que, com certeza, reproduzem um pequeno trecho de ruído pré-gerado, até os geradores de ruído branco real-aleatórios e caros.

Eu quero gerar minha própria amostra de ruído branco

Eu sei que eu poderia baixar um com youtube-dl de um dos muitos vídeos por aí, exceto os direitos autorais, a compressão de frequência é horrível on-line Eu quero full-white- bondade de freqüência. Se tal coisa realmente existe. Além disso, eu sou um comilão por punição e acredito que se algo puder ser feito através da linha de comando, é assim que deveríamos estar fazendo isso. É assim que eu pretendo criar isso de qualquer maneira.

Então, temos coisas como /dev/urandom e paplay . Existe uma maneira sensata de pegar dados aleatórios e canalizá-los para o alcance audível do ruído branco e dos meus alto-falantes? Respostas que escrevem no arquivo também estão bem. O importante é uma amostra confinada em intervalos regulares. Sem gritos.

Observação: as respostas que geram a nota marrom não serão apreciadas ☹

    
por Oli 20.06.2016 / 23:03

12 respostas

142

Use o canivete suíço para gerar sons, SoX .

Você o instala a partir dos repositórios oficiais, simplesmente digitando:

sudo apt-get install sox

Resposta sofisticada e atualizada (agradáveis ondas do mar):

Depois de experimentar um pouco com SoX, eu criei este grande comando que imita o murmúrio suave do mar com seu som suave de ondas que fluem sobre uma praia de areia plana em um dia ensolarado de verão ...

Bem, poesia suficiente, aqui está o comando. Ouça você mesmo.

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

Explicação:

Este comando primeiro gera e mistura ruído marrom e ruído rosa, que eu acho ser o ruído mais confortável e natural. Em seguida, gera uma onda senoidal de 0.3 Hz com um deslocamento de 10 % e usa isso para modular a amplitude de nossos ruídos mistos para produzir o som das ondas do oceano.

Modificações:

  • Temporizador:
    Você pode adicionar um temporizador e limitar a duração da reprodução especificando o número de segundos, o número de minutos e segundos ( mm:ss ) ou o número de horas, minutos e segundos ( hh:mm:ss ) logo antes de brownnoise . Aqui está um exemplo para uma hora:

    play -n synth 1:0:0 brownnoise synth pinknoise mix synth sine amod 0.3 10
    
  • Frequência das ondas:
    Se você quiser que as ondas atinjam a praia mais ou menos frequentemente, simplesmente mude a frequência da onda senoidal usada para a modificação da amplitude ( 0.3 no comando acima). O número representa a quantidade de ondas por segundo, portanto, uma frequência de 0.1 Hz causará 0,1 ondas por segundo e, portanto, fará com que uma onda dure por 10 segundos:

    play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10
    
  • Volume mínimo de ruído de fundo:
    O seno que é usado para modulação de amplitude foi deslocado para um deslocamento de 10 %, então o ruído marrom-rosa será sempre tocado com pelo menos 10% do volume. Se você quiser um ruído de fundo mais strong ou mais fraco, aumente ou diminua esse deslocamento de acordo com suas necessidades. Veja um exemplo com 20 % ruído de fundo:

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

Resposta antiga e entediante (ruído branco claro):

Agora o comando mais fácil de reproduzir o ruído branco infinitamente (até você abortar com Ctrl + C ) é este:

play -n synth whitenoise

Se preferir um limite de tempo, você pode adicioná-lo no formato hh:mm:ss . O seguinte comando faria barulho por uma hora e meia, por exemplo:

play -n synth 01:30:00 whitenoise

Até mostra algumas estatísticas legais enquanto "joga":

$ 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.
    
por Byte Commander 20.06.2016 / 23:27
43

O ruído branco é uma tortura.

Especialmente para os ouvidos delicados dos bebês.

Isso ocorre porque o ruído branco tem muita energia nas altas freqüências.

    
por nightingale 21.06.2016 / 00:54
26

Você pode gerar ruído rosa usando o comando play dos utilitários sox:

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

Ajuste os valores de 0,1 e 60 para atender às suas necessidades. O ruído rosa é menos severo no ouvido e espero que o som que você precisa

    
por Colin Ian King 20.06.2016 / 23:12
19

Não tenho certeza se isso produzirá ruído branco real que cubra todo o espectro, mas um simples

pacat /dev/urandom

parece fazer o truque no meu sistema (não é necessário instalar nada novo ou adicionar um repositório).

    
por dadexix86 21.06.2016 / 00:03
14

Eu sou um glutão por castigo, então eu vou te dar o jeito GUI. Dê uma olhada em ANoise .

O som padrão que vem com é ruim, mas você pode baixar outros sons como Forest Rain, Fountain, & amp; Outras. Você pode configurá-lo para começar com o sistema, e até mesmo configurá-lo para parar depois de um certo tempo.

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

Código ANoise , e para som de rio extra:

sudo apt-get install anoise-community-extension1
    
por Mitch 20.06.2016 / 23:51
9

Abra o Audacity.

Acesse "Gerar & Ruído ..."

Selecione "Brownian" (menos agressivo que o ruído branco real). Amplitude e duração não importa muito.

Faça um loop usando o botão Shift + Play.

    
por Marin 21.06.2016 / 10:24
6

O utilitário instalado-por-padrão speaker-test gera ruído rosa (que, como @nightingale, é o que você realmente quer, não ruído branco). Pode ser configurado para fazê-lo indefinidamente, executando

speaker-test -l 0
    
por Jules 21.06.2016 / 09:54
5

O FFMpeg possui um filtro de fonte de ruído de áudio. Você pode reproduzi-lo usando ffplay :

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

O argumento para -i é interpretado como um gráfico de filtro lavfi, devido a -f lavfi . -showmode 0 desativa a janela de visualização de áudio padrão do ffplay, que é mostrada por padrão para entradas somente de áudio.

Como você pode ver na saída de ffmpeg -h filter=anoisesrc , você tem uma escolha de ruído marrom / rosa / branco em qualquer amplitude e sampler que você goste, opcionalmente com uma duração finita.

Você também pode usar o mpv , um bom fork do mplayer , ou outros players que permitem filtrar gráficos do ffmpeg. por exemplo,

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

Isso pode ser útil se você tiver uma configuração personalizada de saída de áudio configurada para seu player favorito.

    
por Peter Cordes 21.06.2016 / 09:29
5

Vejo que ninguém usou aplay , então tente o seguinte:

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

Não é muito imaginativo, então adicionei um temporizador para compensar :). As configurações de duration estão em segundos, então isso acontecerá por 1 hora e depois desligará, esperamos que o bebê tenha se estabelecido até lá ...

    
por andrew.46 21.06.2016 / 11:41
3

O ruído branco é matematicamente uma distribuição uniforme de freqüências. Você pode produzi-lo com dados aleatórios de /dev/random ou /dev/urandom . Se você quiser alterar o "tom" do ruído produzido (por exemplo, para torná-lo menos "pesado", removendo frequências mais baixas ou para torná-lo "amortecedor", removendo freqüências mais altas), use um comando como dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576 para gerar algum ruído branco, importe-o para o Audacity e use os filtros passa-alta e passa-baixa para ajustá-lo ao seu gosto (ao usar os filtros, lembre-se de que o ouvido humano médio ouvirá freqüências de até 20kHz). p>

EDIT: O Audacity também pode gerar ruído branco em si.

    
por Micheal Johnson 22.06.2016 / 14:46
2

Tom Swiss do unreasonable.org usa o seguinte código (usando sox ) para gerar ruído branco / rosa. Você precisará primeiro instalar o sox ( sudo apt install sox ) e, em seguida, criar um script de shell com o seguinte código:

#!/bin/sh

len='7:00:00'

if [ "" != '' ]; then
  len=
fi

play -t sl - synth $len  pinknoise band -n 1200 200 tremolo 20 .1 < /dev/zero

Dica de link

Disclaimer: Eu não tentei isso mesmo ainda

    
por Nick Weinberg 20.06.2016 / 23:14
1

Há também o Renoise, um sequenciador de áudio multiplataforma muito poderoso, embora a versão completa seja comercial. A versão demo, no entanto, não tem muitas limitações, e permite que você faça o que quiser e adicione filtros, efeitos, etc. ao som gerado.

link

O verdadeiro ruído branco com um filtro passa-baixa e talvez um pouco de chorus e reverb adicionados para um efeito natural agradável soariam bastante agradáveis.

    
por delt 21.06.2016 / 20:02