Genera rumore bianco per calmare un bambino

117

Ho un bambino di tre settimane. Occasionalmente si rifiuta di dormire. Alcune persone mi dicono che questo è il modo in cui la vita è, alcune persone mi dicono che ho bisogno di comprare cose per sistemarlo. Questo sta diventando un modello allarmante comune in questo gioco genitoriale.

Ad ogni modo una di queste cose "Devo comprare" è un generatore di rumore bianco . Rumore bianco definito come:

  

un segnale casuale è considerato "rumore bianco" se si osserva che ha uno spettro piatto nell'intervallo di frequenze che è rilevante per il contesto. Per un segnale audio, ad esempio, l'intervallo pertinente è la banda delle frequenze del suono udibile, tra 20 e 20.000 Hz.

Ci sono molte cose che posso comprare. App per Android, scatole dedicate che sono sicuro riproducono solo una piccola clip di rumore pre-generato, fino ai generosi generatori di rumore bianco veramente costosi.

Voglio generare il mio campione di rumore bianco

So che potrei scaricarne uno con youtube-dl da uno dei molti video là fuori, ma i diritti d'autore a parte, la compressione di frequenza è orribile online Voglio bianco pieno- bontà di frequenza. Se una cosa del genere esiste davvero. Inoltre sono un ghiotto di punizione e credo che se qualcosa può essere fatto tramite la linea di comando, è così che dovremmo farlo. È così che intendo alzare questo comunque.

Quindi abbiamo cose come /dev/urandom e paplay . C'è un modo sensato per prendere dati casuali e incanalarli nell'intervallo udibile di rumore bianco e fuori dai miei altoparlanti? Le risposte che scrivono su file sono ugualmente valide. L'importante è un campione con limiti di intervallo costante. No squawks.

Nota: le risposte che generano la nota marrone non saranno apprezzate ☹

    
posta Oli 20.06.2016 - 23:03

12 risposte

144

Usa il coltellino svizzero per generare suoni, SoX .

Lo installi dai repository ufficiali, semplicemente digitando:

sudo apt-get install sox

Aggiornamento, risposta di fantasia (gradevoli onde dell'oceano):

Dopo aver sperimentato un po 'con SoX, mi è venuto in mente questo grande comando che imita il morbido mormorio del mare con il suo suono rilassante di onde che scorrono su una spiaggia sabbiosa piatta in una soleggiata giornata estiva ...

Bene, abbastanza poesia, ecco il comando. Ascolta te stesso.

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

Spiegazione:

Questo comando prima genera e mescola rumore marrone e rumore rosa, che trovo essere il rumore più confortevole e naturale. Quindi genera un'onda sinusoidale di 0.3 Hz con un offset di 10 % e la usa per modulare l'ampiezza dei nostri rumori misti per produrre il suono delle onde oceaniche.

Modifiche:

  • Timer:
    Puoi aggiungere un timer e limitare la durata della riproduzione specificando il numero di secondi, il numero di minuti e secondi ( mm:ss ) o il numero di ore, minuti e secondi ( hh:mm:ss ) subito prima di brownnoise . Ecco un esempio per un'ora:

    play -n synth 1:0:0 brownnoise synth pinknoise mix synth sine amod 0.3 10
    
  • Frequenza dell'onda: Se vuoi che le onde colpiscano la spiaggia più o meno frequentemente, cambia semplicemente la frequenza dell'onda sinusoidale usata per la modifica dell'ampiezza ( 0.3 nel comando precedente). Il numero rappresenta la quantità di onde al secondo, quindi una frequenza di 0.1 Hz causerà 0,1 onde al secondo e quindi farà durare un'onda per 10 secondi:

    play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10
    
  • Volume minimo rumore di fondo: Il seno che viene utilizzato per la modulazione di ampiezza è stato spostato su un offset di 10 %, quindi il rumore marrone-rosa verrà sempre riprodotto con almeno il 10% di volume. Se si desidera un rumore di fondo più forte o più debole, aumentare o diminuire questo offset in base alle proprie esigenze. Ecco un esempio con 20 % rumore di sottofondo:

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

Vecchia risposta noiosa (semplice rumore bianco):

Ora il comando più semplice per riprodurre il rumore bianco all'infinito (finché non lo interrompi con Ctrl + C ) è questo:

play -n synth whitenoise

Se preferisci un limite di tempo, puoi aggiungerlo nel formato hh:mm:ss . Il seguente comando farebbe rumore per un'ora e mezza, ad esempio:

play -n synth 01:30:00 whitenoise

Ti mostra anche delle belle statistiche mentre "stai giocando":

$ 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.
    
risposta data Byte Commander 20.06.2016 - 23:27
44

Il rumore bianco è una tortura.

Soprattutto per le delicate orecchie dei bambini.

Questo perché il rumore bianco ha troppa energia nelle alte frequenze.

    
risposta data nightingale 21.06.2016 - 00:54
27

Puoi generare rumore rosa usando il comando di riproduzione dalle utility sox:

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

Regolare i valori di .1 e 60 in base alle proprie esigenze. Il rumore rosa è meno rigido sull'orecchio e si spera che il suono richiesto sia

    
risposta data Colin Ian King 20.06.2016 - 23:12
19

Non sono sicuro che questo produrrà un rumore bianco reale che copre l'intero spettro, ma un semplice

pacat /dev/urandom

sembra fare il trucco sul mio sistema (non è necessario installare nulla di nuovo o aggiungere un repository).

    
risposta data dadexix86 21.06.2016 - 00:03
14

Sono un ghiottone per punizione, quindi ti darò la GUI. Dai un'occhiata a ANoise .

Il suono di default con cui viene fornito è cattivo, ma puoi scaricare altri suoni come Forest Rain, Fountain, & amp; Altri. Puoi impostarlo per iniziare con il sistema, e persino impostarlo per fermarsi dopo un certo tempo.

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

Codice anodico , e per Per suono extra del fiume:

sudo apt-get install anoise-community-extension1
    
risposta data Mitch 20.06.2016 - 23:51
9

Apri Audacity.

Vai a "Genera & gt; Rumore ..."

Seleziona "Brownian" (modo meno aggressivo rispetto al rumore bianco effettivo). L'ampiezza e la durata non contano molto.

Utilizza il pulsante Shift + Riproduci.

    
risposta data Marin 21.06.2016 - 10:24
6

L'utilità predefinita di installazione speaker-test genera rumore rosa (che, come @nightingale, è ciò che vuoi veramente, non il rumore bianco). Può essere impostato per farlo indefinitamente eseguendo

speaker-test -l 0
    
risposta data Jules 21.06.2016 - 09:54
5

FFMpeg ha un filtro per la sorgente del rumore audio. Puoi giocarci utilizzando ffplay :

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

L'argomento su -i è interpretato come un grafico del filtro lavfi, a causa di -f lavfi . -showmode 0 disabilita la finestra di visualizzazione audio predefinita di ffplay, che viene visualizzata per impostazione predefinita per gli ingressi solo audio.

Come puoi vedere dall'output di ffmpeg -h filter=anoisesrc , ottieni una scelta di rumore marrone / rosa / bianco a qualsiasi ampiezza e campionatura che ti piace, opzionalmente con una durata finita.

Puoi anche utilizzare mpv , un bel fork di mplayer , o altri giocatori che consentono i filtri di ffmpeg. per es.

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

Potrebbe essere utile se hai configurato un'uscita audio personalizzata configurata per il tuo lettore preferito.

    
risposta data Peter Cordes 21.06.2016 - 09:29
5

Vedo che nessuno ha ancora utilizzato aplay , quindi prova quanto segue:

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

Non è terribilmente fantasioso quindi ho aggiunto un timer per compensare :). Le impostazioni di duration sono espresse in secondi, quindi verranno eseguite per 1 ora e poi si spegneranno, si spera che il bambino si sia stabilizzato per allora ...

    
risposta data andrew.46 21.06.2016 - 11:41
3

Il rumore bianco è matematicamente una distribuzione uniforme di frequenze. Puoi produrlo con dati casuali da /dev/random o /dev/urandom . Se vuoi cambiare il "tono" del rumore prodotto (ad esempio per renderlo meno "pesante" rimuovendo le frequenze più basse, o per renderlo "damper" rimuovendo le frequenze più alte) allora potresti usare un comando come dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576 per generare del rumore bianco, quindi importarlo in Audacity e utilizzare i filtri passa-alto e passa-basso per regolarlo a proprio piacimento (quando si utilizzano i filtri, ricordare che l'orecchio umano medio ascolterà frequenze fino a 20kHz).

EDIT: Audacity può anche generare il rumore bianco stesso.

    
risposta data Micheal Johnson 22.06.2016 - 14:46
2

Tom Swiss di unreasonable.org usa il seguente codice (usando sox ) per generare rumore bianco / rosa. Dovrai prima installare sox ( sudo apt install sox ), quindi creare uno script di shell con il seguente codice:

#!/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

Suggerimento su link

Disclaimer: non ho ancora provato questo

    
risposta data Nick Weinberg 20.06.2016 - 23:14
1

C'è anche Renoise, un sequencer audio multi-piattaforma molto potente, sebbene la versione completa sia commerciale. La versione demo tuttavia non presenta molte limitazioni e ti consente di fare ciò che desideri, e di aggiungere filtri, effetti, ecc. Al suono generato.

link

Il vero rumore bianco con un filtro passa-basso, e forse alcuni chorus e riverbero aggiunti per un bell'effetto naturale, suonerebbero abbastanza piacevoli.

    
risposta data delt 21.06.2016 - 20:02

Leggi altre domande sui tag