Eu tenho um bebê de três semanas. Ocasionalmente, ela se recusa a dormir. Algumas pessoas me dizem que é assim que a vida é, outras me dizem que preciso comprar coisas para consertar isso. Isso está se tornando um padrão assustadoramente comum nesse 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 um espectro plano na faixa de frequências relevante para o contexto. Para um sinal de áudio, por exemplo, a faixa relevante é a banda de frequências sonoras audíveis, entre 20 e 20.000 Hz.
Há várias coisas que posso comprar. Aplicativos para Android, caixas dedicadas que, com certeza, reproduzem um pequeno clipe de ruído pré-gerado, até geradores de ruído branco aleatórios verdadeiros e mega caros.
Quero gerar minha própria amostra de ruído branco
Eu sei que eu poderia baixar um youtube-dl
de um dos muitos vídeos por aí, mas, exceto os direitos autorais, a compactação de frequência é horrível on-line. Se tal coisa realmente existe. Além disso, sou um glutão por punição e acredito que se algo puder ser feito através da linha de comando, é assim que deveríamos fazê-lo. É assim que pretendo levantar este de qualquer maneira.
Então, temos coisas como /dev/urandom
e paplay
. Existe uma maneira sensata de coletar dados aleatórios e canalizá-los para a faixa audível de ruído branco e para fora dos meus alto-falantes? As respostas que gravam no arquivo também são boas. O importante é uma amostra confinada a um intervalo estável. Sem gritos.
Nota: as respostas que geram a nota marrom não serão apreciadas ☹
Respostas:
Use o canivete suíço para a geração de som, SoX .
Você o instala a partir dos repositórios oficiais, simplesmente digitando:
Resposta atualizada e elegante (agradáveis ondas oceânicas):
Depois de experimentar um pouco o SoX, criei esse grande comando que imita o suave murmúrio do mar com seu som suave de ondas que fluem sobre uma praia de areia plana em um dia ensolarado de verão ...
Bem, basta poesia, aqui está o comando. Ouça a si mesmo.
Explicação:
Esse comando primeiro gera e mistura ruído marrom e rosa, que eu acho o ruído mais confortável e natural. Em seguida, gera uma onda senoidal de
0.3
Hz com um deslocamento de10
% 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
) imediatamente antesbrownnoise
. Aqui está um exemplo por uma hora:Frequência das ondas:
Se você deseja que as ondas cheguem à praia com mais ou menos frequência, basta alterar 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 de0.1
Hz causará 0,1 ondas por segundo e, portanto, fará uma onda durar 10 segundos:Volume mínimo de ruído de fundo:
o seno usado para modulação de amplitude foi deslocado para um deslocamento de
10
%, para que o ruído marrom-rosa seja sempre reproduzido com pelo menos 10% de volume. Se você deseja um ruído de fundo mais forte ou mais fraco, aumente ou diminua esse deslocamento de acordo com suas necessidades. Aqui está um exemplo com20
% de ruído de fundo:Resposta antiga e chata (ruído branco puro):
Agora, o comando mais fácil de reproduzir ruído branco infinitamente (até que você o aborte com Ctrl+ C) é este:
Se você preferir um limite de tempo, adicione-o no formato
hh:mm:ss
. O comando a seguir faria barulho por uma hora e meia, por exemplo:Ele até mostra algumas estatísticas legais enquanto "jogando":
fonte
play -n synth brownnoise synth pinknoise mix synth 0 0 0 15 40 80 trapezium amod 0.2 10
é mais perto do que você está pedindo :)play -n synth brownnoise synth pinknoise mix synth 0 0 0 10 10 40 trapezium amod 0.1 30
O período mais longo dificulta a observação da regularidade. Os números significam: 0,1 = frequência de queda das ondas (0,1 Hz = uma onda a cada 10 segundos); 30% = nível de ruído entre as ondas; 1º 10% = duração (mais de 10 segundos) da parte ascendente da onda; 2º 10% = quando começa a cair (ambos são 10%, de modo que a onda trava assim que aumenta o volume); 40% de duração de toda a onda: isso significa 100% - 40% = 60% do tempo gasto esperando entre as ondas.Ruído branco é tortura.
Especialmente para os ouvidos delicados dos bebês.
Isso ocorre porque o ruído branco tem muita energia nas altas frequências.
fonte
Você pode gerar ruído rosa usando o comando play nos utilitários sox:
Ajuste os valores de .1 e 60 para atender às suas necessidades. O ruído rosa é menos severo na orelha e, esperançosamente, é o som que você precisa
fonte
speaker-test
faz isso também, mas acho que o ruído rosa é menos que o ideal, é ruído certo, mas não ter variação pode não ser desejável?play -n synth 12:00:00 whitenoise
.1
e60
realmente significam?Não tenho certeza se isso produzirá ruído branco real que cobre todo o espectro, mas um simples
parece fazer o truque no meu sistema (não há necessidade de instalar nada de novo ou adicionar um repositório).
fonte
sox
produz.pulseaudio-utils
, que faz parte do sistema ativo (veja o manifesto ). Se você não o tiver, provavelmente a sua instalação está corrompida. Sugiro que você abra uma nova pergunta explicando o problema e solicitando ajuda sobre como restaurar sua instalação.aplay
vez depacat
.alsa-utils
parece estar instalado por padrão.Eu sou um glutão por punição, então eu vou te dar o caminho da GUI. Dê uma olhada no ANoise .
O som padrão fornecido é ruim, mas você pode baixar outros sons como Forest Rain, Fountain e outros. Você pode configurá-lo para iniciar com o sistema e até parar após um certo tempo.
Código ANoise , e para Para som extra no rio:
fonte
Abra o Audacity.
Vá para "Gerar> Ruído ..."
Selecione "Browniano" (muito menos agressivo que o ruído branco real). Amplitude e duração não importam muito.
Faça um loop usando o Shiftbotão + Play.
fonte
O utilitário instalado por padrão
speaker-test
gera ruído rosa (que, como @nightingale, é o que você realmente deseja, não ruído branco). Pode ser configurado para fazê-lo indefinidamente, executandofonte
O FFMpeg possui um filtro de fonte de ruído de áudio. Você pode reproduzi-lo usando
ffplay
:O argumento arg
-i
é interpretado como um gráfico de filtro lavfi, devido a-f lavfi
.-showmode 0
desativa a janela do visualizador de áudio padrão do ffplay, que é exibida por padrão para entradas somente de áudio.Como você pode ver na saída de
ffmpeg -h filter=anoisesrc
, você pode escolher o ruído marrom / rosa / branco em qualquer amplitude e amostragem que desejar, opcionalmente com uma duração finita.Você também pode usar
mpv
um belo fork do mplayer ou outros jogadores que permitam gráficos de filtro ffmpeg. por exemploIsso pode ser útil se você tiver uma configuração de saída de áudio personalizada configurada para o seu player favorito.
fonte
Vejo que ninguém usou
aplay
ainda, então tente o seguinte:Não é muito imaginativo, por isso adicionei um temporizador para compensar :). As
duration
configurações estão em segundos, então isso funcionará por 1 hora e depois será desligado.fonte
O ruído branco é matematicamente uma distribuição uniforme de frequê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, torná-lo menos "pesado", removendo as frequências mais baixas, ou "amortecedor", removendo as frequências mais altas), use um comandodd 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-alto e passa-baixo para ajustá-lo ao seu gosto (ao usar os filtros, lembre-se de que o ouvido humano médio ouvirá frequências de até 20kHz).EDIT: Audacity também pode gerar ruído branco em si.
fonte
Tom Swiss, do unreasonable.org, usa o seguinte código (using
sox
) para gerar ruído branco / rosa. Você precisará primeiro instalar o sox (sudo apt install sox
) e depois criar um shell script com o seguinte código:Dica para o chapéu http://unreasonable.org/white_noise_generator_with_sox_for_Linux
Disclaimer: Eu ainda não tentei isso
fonte
len='7:00:00'
,if [ "$1" != '' ];then
efi
, adicionando suporte para o ruído infinito.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 permitirá que você faça o que quiser e adicione filtros, efeitos etc. ao som gerado.
http://www.renoise.com
Ruído branco verdadeiro com um filtro passa-baixo, e talvez um pouco de coro e reverb adicionados para um efeito natural agradável, soaria bastante agradável.
fonte