Generuj biały szum, aby uspokoić dziecko

121

Mam trzytygodniowe dziecko. Czasami nie chce spać. Niektórzy mówią mi, że takie jest życie, inni mówią, że muszę coś kupić, żeby to naprawić. To staje się alarmująco powszechnym wzorcem w tej grze dla rodziców.

W każdym razie jedną z tych rzeczy „muszę kupić” jest generator białego szumu . Biały szum zdefiniowany jako:

losowy sygnał jest uważany za „biały szum”, jeśli zaobserwowano, że ma on płaskie widmo w zakresie częstotliwości odpowiednich dla kontekstu. Na przykład dla sygnału audio odpowiednim zakresem jest pasmo słyszalnych częstotliwości dźwięku, od 20 do 20 000 Hz.

Jest kilka rzeczy, które mogę kupić. Aplikacje na Androida, dedykowane urządzenia, które z pewnością odtwarzają niewielki klip wstępnie wygenerowanego hałasu, aż do bardzo drogich generatorów szumów o prawdziwej przypadkowości.

Chcę wygenerować własną próbkę białego szumu

Wiem, że mógł pobrać go z youtube-dljednej z wielu filmów tam, ale prawa autorskie na bok, kompresji częstotliwości jest straszne Internecie chcę dobroci pełnej biały częstotliwości. Jeśli coś takiego istnieje. Plus jestem żarłokiem do karania i uważam, że jeśli coś można zrobić za pomocą wiersza poleceń, właśnie tak powinniśmy to robić. Tak i tak zamierzam to podnieść.

Mamy więc takie rzeczy jak /dev/urandomi paplay. Czy istnieje rozsądny sposób na pobieranie losowych danych i kierowanie ich w słyszalny zakres białego szumu i wyjście z moich głośników? Odpowiedzi, które zapisują się w pliku, są również w porządku. Ważną rzeczą jest próbka o ustalonym zakresie. Żadnych skrzeczeń.

Uwaga: odpowiedzi generujące brązową nutę nie będą mile widziane ☹

Oli
źródło
29
Zobacz inne odpowiedzi dla strony technicznej. Praktycznie twierdzę, że istnieją płyty CD z szumem fal / deszczu / wodospadu, które mogą nie być matematycznie czystym białym szumem, ale prawdopodobnie są znacznie bliższe kojącej słodyczy, której szukasz (i prawdopodobnie u źródła reputacji białego szumu ).
ksenoid
5
Czy to zadziała?
Mitch
6
Post, na który wskazał @Mitch, nie odnosi się do „brązowej nuty”. „Termin„ brązowy szum ”nie pochodzi od koloru, ale od Roberta Browna, który odkrył ruch Browna”.
Adrian
4
Dostroić radio z dowolnego kanału?
gerrit
12
Jeśli nie nauczyłeś się już testu chi-kwadrat Pearsona , prawdziwa losowość nie jest zbyt wielkim problemem.
PyRulez

Odpowiedzi:

152

Użyj szwajcarskiego noża wojskowego do generowania dźwięku, SoX .

Instalujesz go z oficjalnych repozytoriów, po prostu wpisując:

sudo apt-get install sox

Zaktualizowana, fantazyjna odpowiedź (przyjemne fale oceanu):

Po odrobinie eksperymentowania z SoX wymyśliłem to wspaniałe polecenie, które imituje miękki szmer morza z kojącym dźwiękiem fal, które płyną po płaskiej, piaszczystej plaży w słoneczny letni dzień ...

Cóż, wystarczy poezji, oto polecenie. Posłuchaj siebie.

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

Wyjaśnienie:

To polecenie najpierw generuje i miesza szum brązowy i różowy, który wydaje mi się najbardziej komfortowy i naturalny. Następnie generuje falę sinusoidalną 0.3Hz z przesunięciem 10% i wykorzystuje ją do modulowania amplitudy naszych mieszanych dźwięków w celu wytworzenia dźwięku fal oceanicznych.

Modyfikacje:

  • Timer:
    Możesz dodać timer i ograniczyć czas odtwarzania, określając liczbę sekund, liczbę minut i sekund ( mm:ss) lub liczbę godzin, minut i sekund ( hh:mm:ss) tuż przed brownnoise. Oto przykład na godzinę:

    play -n synth 1:0:0 brownnoise synth pinknoise mix synth sine amod 0.3 10
    
  • Częstotliwość fali:
    Jeśli chcesz, aby fale uderzały w plażę mniej lub bardziej często, po prostu zmień częstotliwość fali sinusoidalnej używanej do modyfikacji amplitudy ( 0.3w powyższym poleceniu). Liczba reprezentuje ilość fal na sekundę, więc częstotliwość 0.1Hz spowoduje 0,1 fali na sekundę i dlatego jedna fala będzie trwać przez 10 sekund:

    play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10
    
  • Minimalna głośność szumu tła:
    Sinus, który jest używany do modulacji amplitudy, został przesunięty do przesunięcia o 10%, więc brązowo-różowy szum będzie zawsze odtwarzany z co najmniej 10% głośnością. Jeśli potrzebujesz silniejszego lub słabszego szumu tła, zwiększ lub zmniejsz to przesunięcie do swoich potrzeb. Oto przykład z 20% szumem tła:

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

Stara, nudna odpowiedź (zwykły biały szum):

Teraz najprostszym poleceniem do nieskończonego odtwarzania białego szumu (dopóki nie przerwiesz go za pomocą Ctrl+ C) jest:

play -n synth whitenoise

Jeśli wolisz limit czasu, możesz dodać go w formacie hh:mm:ss. Następujące polecenie spowodowałoby hałas na przykład przez półtorej godziny:

play -n synth 01:30:00 whitenoise

Pokazuje nawet ładne statystyki podczas gry:

$ 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.
Bajt Dowódca
źródło
6
Zredagowałem swoją odpowiedź i dodałem fantazyjne, ale proste polecenie generatora dźwięku fal oceanicznych, które bardziej ucieszy uszy dziecka (i tatusia) niż zwykły biały szum.
Bajt Dowódca
2
Uwielbiam to - ale zmiana głośności fali sinusoidalnej tak naprawdę nie przypomina dźwięku fal na plaży. Musi dość szybko zwiększyć głośność, gdy fala załamuje się na plaży, a następnie spada znacznie wolniej. Czy istnieje sposób na osiągnięcie tego?
Caesar
7
@Caesar istnieje granica tego, jak dobrze możesz uzyskać te narzędzia, ale myślę, że play -n synth brownnoise synth pinknoise mix synth 0 0 0 15 40 80 trapezium amod 0.2 10jest bliżej tego, o co prosisz :)
hobbs
1
@ Hobbs, a teraz, jeśli częstotliwość powtarzania nie była tak regularna ... ;-) :-P
Rmano
2
+1. Oto moja ulepszona wersja: play -n synth brownnoise synth pinknoise mix synth 0 0 0 10 10 40 trapezium amod 0.1 30dłuższy okres utrudnia zauważenie prawidłowości. Liczby oznaczają: 0,1 = częstotliwość uderzenia fali (0,1 Hz = jedna fala co 10 sekund); 30% = poziom hałasu pomiędzy falami; 1. 10% = czas trwania (powyżej 10 sekund) wschodzącej części fali; 2. 10% = kiedy zaczyna spadać (oba mają wartość 10%, więc fala rozbija się, gdy tylko osiągnie wzrost głośności); 40% czasu trwania całej fali: oznacza to 100% - 40% = 60% czasu spędza się na oczekiwaniu między falami.
Tobia,
44

Biały szum to tortury.

Specjalnie dla delikatnych uszu niemowląt.

Jest tak, ponieważ biały szum ma zbyt dużo energii w wysokich częstotliwościach.

słowik
źródło
25
Chociaż masz rację, to nie odpowiada na pytanie.
leftaroundabout
19
@leftaroundabout Jeśli uratuje słuch dziecka, myślę, że jest to dopuszczalne. Nawet jeśli jest technicznie lepiej opublikowany jako komentarz zamiast odpowiedzi; robi więcej dobra niż szkody. Dziękujemy za zwrócenie na to uwagi, słowika i witamy w AskUbuntu!
Nick Weinberg,
18
Odpowiedź brzmi: „Nie, nie chcesz tego” to uczciwa gra. Inne odpowiedzi sugerujące „różowy” hałas wydają się brać to pod uwagę. Ta odpowiedź byłaby lepsza, gdyby dalej to wyjaśniała, ale wciąż jest ode mnie +1.
Oli
22
@ ΈρικΚωνσταντόπουλος Jestem dobrym przyjacielem OP. Dodatkowo poprosił o odgłos „uspokajający dziecko”. Kręte dźwięki rzadko uspokajają.
Oli
8
Chociaż zazwyczaj nienawidzę „nie, tak naprawdę nie chcesz (lub nie powinieneś)” tych odpowiedzi i komentarzy, wydaje mi się, że różnica między prawdziwym białym szumem a potocznym „białym szumem” jest na tyle ważna, że ​​ta odpowiedź jest warta zachodu. +1.
Kyle Strand
28

Możesz generować różowy szum za pomocą polecenia odtwarzania z narzędzi sox:

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

Dostosuj wartości .1 i 60 do swoich potrzeb. Różowy szum jest mniej ostry dla ucha i, mam nadzieję, dźwięk, którego potrzebujesz

Colin Ian King
źródło
Wydaje mi się, że speaker-testto samo, ale myślę, że różowy szum jest mniej niż optymalny, to hałas na pewno, ale brak zmian może nie być pożądany?
4
@ bc2946088 12 godzin czystego białego szumu można osiągnąć dziękiplay -n synth 12:00:00 whitenoise
Nick Weinberg
5
Mówisz, że mogę je dostosować, ale co właściwie oznaczają argumenty .1i 60?
Oli
.1 jest tutaj trochę nieistotny; 60 oznacza przesunięcie DC. Im niższy, tym większy zakres (w amplitudzie) masz w przebiegu, ustawienie go bliżej 100 spowoduje, że będzie on miał mniejszy zasięg, ponieważ jest prawie maksymalny do 100% pełnego zakresu.
Colin Ian King
21

Nie jestem pewien, czy to wytworzy prawdziwy biały szum, który pokrywa całe spektrum, ale proste

pacat /dev/urandom

wydaje się, że robi to w moim systemie (nie trzeba instalować niczego nowego ani dodawać repozytorium).

dadexix86
źródło
To z pewnością brzmi bardzo podobnie do białego szumu sox.
Oli
2
@linolino nie jesteś na Ubuntu? Jeśli tak, musisz go zainstalować (chyba że go ręcznie usunąłeś). Zapewnia to pulseaudio-utilsnawet część żywego systemu (patrz manifest ). Jeśli go nie masz, prawdopodobnie Twoja instalacja jest uszkodzona. Sugeruję, aby otworzyć nowe pytanie wyjaśniające problem i proszące o pomoc w przywróceniu instalacji.
dadexix86
1
Chyba że używają wersji serwerowej.
Arronical
1
W każdym razie możesz nadal używać aplayzamiast pacat. alsa-utilswydają się być instalowane domyślnie.
Ruslan
1
@ dadexix86 faktycznie mam lubuntu. W każdym razie jakoś nie działa w moim przypadku po instalacji apt-get. Ale rozwiązanie ByteDefenders działa dobrze ;-)
linolino
15

Jestem żarłokiem za karę, więc dam ci GUI. Spójrz na ANoise .

Domyślny dźwięk, który zawiera, jest zły, ale można pobrać inne dźwięki, takie jak Forest Rain, Fountain i inne. Możesz ustawić, aby uruchamiał się z systemem, a nawet ustawić, aby zatrzymał się po pewnym czasie.

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

ANoise Code , a dla dodatkowego dźwięku rzeki:

sudo apt-get install anoise-community-extension1
Mitch
źródło
+1 Cały czas używam Anoise. Ale ma kilka poważnych błędów z 16.04.
UniversallyUniqueID
10

Otwórz Audacity.

Przejdź do „Generuj> Hałas ...”

Wybierz „Browar” (znacznie mniej agresywny niż rzeczywisty biały szum). Amplituda i czas trwania nie mają większego znaczenia.

Zapętlanie za pomocą Shiftprzycisku + Play.

Marin
źródło
6

Domyślnie zainstalowane narzędzie speaker-testgeneruje różowy szum (który, jako @nightingale, jest tym, czego naprawdę chcesz, a nie białym szumem). Można to ustawić na nieograniczony czas, uruchamiając

speaker-test -l 0
Jules
źródło
5

FFMpeg ma filtr źródła szumów audio. Można go odtworzyć za pomocąffplay :

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

Argument -ijest interpretowany jako wykres filtra lavfi z powodu -f lavfi. -showmode 0wyłącza domyślne okno wizualizatora audio ffplay, które domyślnie pokazuje dla wejść tylko audio.

Jak widać z wyjścia ffmpeg -h filter=anoisesrc, masz wybór brązowego / różowego / białego szumu przy dowolnej amplitudzie i sampleracji, którą chcesz, opcjonalnie o skończonym czasie trwania.


Możesz także użyć mpvfajnego widelca mplayera lub innych odtwarzaczy, które pozwalają filtrować wykresy ffmpeg. na przykład

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

Może to być przydatne, jeśli masz skonfigurowaną niestandardową konfigurację wyjścia audio dla swojego ulubionego odtwarzacza.

Peter Cordes
źródło
5

Widzę, że nikt jeszcze nie korzystał, aplaywięc spróbuj wykonać następujące czynności:

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

Nie jest to zbyt pomysłowe, więc dodałem licznik, aby to zrekompensować :). Do durationustawienia w sekundach więc ten będzie realizowany przez 1 godzinę, a następnie wyłączy się, mam nadzieję, że dziecko będzie miało rozstrzygane przez to ...

andrew.46
źródło
3

Biały szum jest matematycznie równomiernym rozkładem częstotliwości. Możesz go wygenerować losowymi danymi z /dev/randomlub /dev/urandom. Jeśli chcesz zmienić „ton” wytwarzanego szumu (na przykład, aby był mniej „ciężki” przez usunięcie niższych częstotliwości lub aby „tłumić” przez usunięcie wyższych częstotliwości), możesz użyć polecenia, takiego jak dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576wygenerowanie trochę białego szumu, następnie zaimportuj go do Audacity i użyj filtrów górnoprzepustowych i dolnoprzepustowych, aby dostosować go do swoich upodobań (podczas korzystania z filtrów pamiętaj, że przeciętne ludzkie ucho słyszy częstotliwości do 20 kHz).

EDYCJA: Audacity może również generować biały szum.

Micheal Johnson
źródło
2

Tom Swiss z unreasonable.org używa następującego kodu (używa sox) do generowania białego / różowego szumu. Najpierw musisz zainstalować sox ( sudo apt install sox), a następnie utworzyć skrypt powłoki z następującym kodem:

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

Porada Hat http://unreasonable.org/white_noise_generator_with_sox_for_Linux

Oświadczenie: Sam jeszcze tego nie próbowałem

Nick Weinberg
źródło
To daje częstotliwość próbkowania 8 kHz, więc nie ma energii szumu powyżej 4 kHz. : / Właściwy różowy szum powinien mieć trochę. Ciekawa propozycja zastosowania filtra wibrato / tremolo na hałasie.
Peter Cordes,
1
Lepsze rozwiązanie? Usunąć len='7:00:00', if [ "$1" != '' ];theni fi, dodając wsparcie dla nieskończonej hałasu.
EKons,
1

Jest też Renoise, bardzo wydajny wieloplatformowy sekwencer audio, choć pełna wersja jest komercyjna. Wersja demo nie ma jednak wielu ograniczeń i pozwoli ci robić, co chcesz, i dodawać filtry, efekty itp. Do generowanego dźwięku.

http://www.renoise.com

Prawdziwy biały szum z filtrem dolnoprzepustowym, a może dodany refren i pogłos dodający przyjemny naturalny efekt, brzmiałby całkiem przyjemnie.

delt
źródło