Создайте белый шум, чтобы успокоить ребенка

121

У меня трехнедельный ребенок. Изредка она отказывается спать. Некоторые люди говорят мне, что такова жизнь, некоторые люди говорят мне, что мне нужно покупать вещи, чтобы это исправить. Это становится тревожно распространенной моделью в этой игре для родителей.

В любом случае, одна из вещей, которые мне нужно купить, это генератор белого шума . Белый шум определяется как:

случайный сигнал считается «белым шумом», если наблюдается, что он имеет плоский спектр в диапазоне частот, который имеет отношение к контексту. Например, для звукового сигнала соответствующим диапазоном является диапазон звуковых частот от 20 до 20000 Гц.

Есть несколько вещей, которые я могу купить. Приложения для Android, специализированные блоки, которые, я уверен, просто воспроизводят крошечный фрагмент предварительно сгенерированного шума, вплоть до мега-дорогих генераторов действительно случайного белого шума.

Я хочу создать свой собственный образец белого шума

Я знаю , что я мог скачать один с youtube-dlодного из многих видео там , но авторское право в сторону, сжатие частоты ужасна онлайн Я хочу полный бело-частотную благость. Если такая вещь действительно существует. Кроме того, я жажду наказания и считаю, что если что-то можно сделать с помощью командной строки, это то, что мы должны делать. Вот как я стремлюсь поднять этот в любом случае.

Так что у нас есть такие вещи, как /dev/urandomи paplay. Есть ли разумный способ взять случайные данные и направить их в слышимый диапазон белого шума и из моих динамиков? Ответы, которые пишут в файл, тоже в порядке. Важной вещью является образец с ограниченным диапазоном. Нет воплей.

Примечание: ответы, которые генерируют коричневую заметку , не будут оценены ☹

Оли
источник
29
Смотрите другие ответы для технаря. Практически я говорит, что есть компакт-диски с шумом прибоя / дождя / водопада, которые могут не быть математически чистым белым шумом, но, вероятно, намного ближе к успокаивающему ушному леденцу, который вы ищете (и, вероятно, к происхождению репутации белого шума). ).
ксеноид
5
Будет ли это работать?
Митч
6
Пост, на который указал @Mitch, не имеет отношения к «коричневой заметке». «Термин« коричневый шум »происходит не от цвета, а от Роберта Брауна, который открыл броуновское движение».
Адриан
4
Отрегулировать радио от любого канала?
геррит
12
Если вы уже не обучили критерию хи-квадрат вашего ребенка Пирсона , настоящая случайность не слишком важна.
PyRulez

Ответы:

152

Используйте швейцарский армейский нож для генерации звука, SoX .

Вы устанавливаете его из официальных репозиториев, просто набрав:

sudo apt-get install sox

Обновленный, причудливый ответ (приятные океанские волны):

Немного поэкспериментировав с SoX, я придумал эту замечательную команду, которая подражает мягкому шуму моря с его успокаивающим звуком волн, которые текут по плоскому песчаному пляжу в солнечный летний день ...

Ну, хватит поэзии, вот команда. Слушай себя.

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

Объяснение:

Эта команда сначала генерирует и смешивает коричневый шум и розовый шум, который я считаю наиболее комфортным и естественным шумом. Затем он генерирует синусоидальную волну 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
    
  • Частота волн:
    если вы хотите, чтобы волны попадали на пляж более или менее часто, просто измените частоту синусоидальной волны, используемой для изменения амплитуды ( 0.3в приведенной выше команде). Число представляет количество волн в секунду, поэтому частота 0.1Гц будет вызывать 0,1 волны в секунду и, следовательно, одна волна будет длиться 10 секунд:

    play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10
    
  • Минимальная громкость фонового шума:
    синус, который используется для амплитудной модуляции, сдвинут в смещение в 10%, поэтому коричнево-розовый шум всегда будет воспроизводиться с громкостью не менее 10%. Если вам нужен более сильный или более слабый фоновый шум, увеличьте или уменьшите это смещение в соответствии с вашими потребностями. Вот пример с 20% фонового шума:

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

Старый, скучный ответ (простой белый шум):

Теперь самая простая команда бесконечно воспроизводить белый шум (до тех пор, пока вы не прервете его нажатием Ctrl+ C):

play -n synth whitenoise

Если вы предпочитаете ограничение по времени, вы можете добавить его в формате hh:mm:ss. Следующая команда будет издавать шум в течение полутора часов, например:

play -n synth 01:30:00 whitenoise

Он даже показывает хорошую статистику во время «игры»:

$ 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.
Байт Commander
источник
6
Я отредактировал свой ответ и добавил необычную, но простую команду генератора звуков океанской волны, которая будет радовать уши ребенка (и папы) гораздо больше, чем простой белый шум.
Byte Commander
2
Я люблю это - но изменение громкости синусоидальной волны на самом деле не очень похоже на шум волн на пляже. Он должен увеличиваться в объеме довольно быстро, так как волна разбивается о берег, а затем исчезает гораздо медленнее. Есть ли способ достичь этого?
Цезарь
7
@ Caesar, есть предел тому, насколько хорошо вы можете получить эти инструменты, но я думаю, что play -n synth brownnoise synth pinknoise mix synth 0 0 0 15 40 80 trapezium amod 0.2 10это ближе к тому, что вы просите :)
Хоббс
1
@hobbs и теперь, если частота повторений не была такой регулярной ... ;-) :-P
Rmano
2
+1. Вот моя измененная версия: чем play -n synth brownnoise synth pinknoise mix synth 0 0 0 10 10 40 trapezium amod 0.1 30дольше период, тем сложнее заметить регулярность. Числа означают: 0,1 = частота падения волны (0,1 Гц = одна волна каждые 10 секунд); 30% = уровень шума между волнами; 1-е 10% = длительность (более 10 секунд) восходящей части волны; 2-й 10% = когда он начинает падать (они оба равны 10%, так что волна падает, как только закончится увеличение объема); 40% длительности всей волны: это означает, что 100% - 40% = 60% времени тратится на ожидание между волнами.
Тобиа
44

Белый шум - это пытка.

Особенно для нежных ушей малышей.

Это потому, что белый шум имеет слишком много энергии на высоких частотах.

соловей
источник
25
Хотя у вас есть точка зрения, это не отвечает на вопрос.
оставил около
19
@leftaroundabout Если это спасет слух ребенка, я думаю, что это допустимо. Даже если технически лучше оставить комментарий, а не ответ; это приносит больше пользы, чем вреда. Спасибо за указание на это, соловей, и добро пожаловать в AskUbuntu!
Ник Вайнберг
18
Ответ «Нет, ты не хочешь этого» - это честная игра. Другие ответы, которые предполагают "розовый" шум, кажется, принимают это во внимание. Этот ответ был бы лучше, если бы он продолжал объяснять это, но он все еще +1 от меня.
Оли
22
@ ΈρικΚωνσταντόπουλος Я хороший друг с ОП. Плюс он попросил шум, чтобы «успокоить ребенка». Извилистые шумы редко успокаивают.
Оли
8
Хотя я, как правило, ненавижу ответы и комментарии «нет, вы на самом деле не (или не должны) этого хотеть», я чувствую, что различие между реальным белым шумом и разговорным «белым шумом» достаточно важно, чтобы этот ответ был полезным. +1.
Кайл Стрэнд
28

Вы можете генерировать розовый шум, используя команду воспроизведения из утилит sox:

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

Отрегулируйте значения .1 и 60 в соответствии с вашими потребностями. Розовый шум менее резок на слух и, надеюсь, вам нужен звук

Колин Ян Кинг
источник
Я думаю, speaker-testчто это тоже так, но я думаю, что розовый шум менее чем оптимален, он уверен, но отсутствие изменений может быть нежелательным?
4
@ bc2946088 12 часов чистого белого шума может быть достигнуто сplay -n synth 12:00:00 whitenoise
Ник Weinberg
5
Вы говорите, что я могу изменить их, но что на самом деле означают аргументы .1and 60?
Оли
.1 здесь не имеет никакого значения; 60 - это смещение постоянного тока. Чем ниже значение, тем больше диапазон (в амплитуде), который вы имеете в форме волны, установка его ближе к 100 приведет к тому, что у него будет меньший диапазон, поскольку он почти максимально увеличен до 100% полного диапазона.
Колин Ян Кинг,
21

Не уверен, что это произведет настоящий белый шум, который покрывает весь спектр, но простой

pacat /dev/urandom

кажется, делает трюк в моей системе (нет необходимости устанавливать что-либо новое или добавлять репозиторий).

dadexix86
источник
Это, конечно, очень похоже на белый шум sox.
Оли
2
@linolino ты не в Ubuntu? Если да, он должен быть установлен (если вы не удалили его вручную). Это обеспечивается тем pulseaudio-utils, что является даже частью живой системы (см. Манифест ). Если у вас его нет, то, вероятно, ваша установка повреждена. Я предлагаю вам открыть новый вопрос с объяснением проблемы и просьбой о помощи по восстановлению вашей установки.
dadexix86
1
Если они не используют версию сервера.
Arronical
1
В любом случае вы все равно можете использовать aplayвместо pacat. alsa-utilsпохоже установлен по умолчанию.
Руслан
1
@ dadexix86 на самом деле у меня есть lubuntu. Во всяком случае, как-то не работает в моем случае после установки apt-get. Но решение ByteDefenders работает отлично ;-)
linolino
15

Я жажду наказания, так что я дам вам способ GUI. Посмотрите на ANoise .

Звук по умолчанию - плохой, но вы можете скачать другие звуки, такие как Лесной дождь, Фонтан и другие. Вы можете настроить его на запуск с системой и даже остановить его через определенное время.

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

ANoise Code , и для дополнительного речного звука:

sudo apt-get install anoise-community-extension1
Митч
источник
+1 Я все время использую Anoise. Но у него есть несколько серьезных ошибок с 16.04.
UniversallyUniqueID
10

Откройте Audacity.

Зайдите в «Создать> Шум ...»

Выберите «Броуновский» (способ менее агрессивный, чем настоящий белый шум). Амплитуда и длительность не имеют большого значения.

Цикл, используя Shiftкнопку + Play.

Marin
источник
6

Установленная по умолчанию утилита speaker-testгенерирует розовый шум (который, как @nightingale, это то, что вам действительно нужно, а не белый шум). Это можно сделать так до бесконечности, запустив

speaker-test -l 0
Жюль
источник
5

FFMpeg имеет фильтр источника аудио шума. Вы можете играть в нее, используяffplay :

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

Аргумент к -iинтерпретируется как граф фильтра Лавфи, потому что -f lavfi. -showmode 0отключает стандартное окно аудио-визуализатора ffplay, которое оно показывает по умолчанию только для аудио входов.

Как вы можете видеть из выходных данных ffmpeg -h filter=anoisesrc, вы можете выбрать коричневый / розовый / белый шум с любой амплитудой и частотой дискретизации, которые вам нравятся, необязательно с конечной продолжительностью.


Вы также можете использовать mpvсимпатичный форк mplayer или других игроков, которые позволяют фильтровать графы ffmpeg. например

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

Это может быть удобно, если для вашего любимого проигрывателя настроена настраиваемая настройка вывода звука.

Питер Кордес
источник
5

Я вижу, что никто еще не использовал, aplayпоэтому попробуйте следующее:

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

Это не очень образно, поэтому я добавил в таймер, чтобы компенсировать :). Эти durationпараметры в секундах , так что это будет работать в течение 1 часа , а затем выключить, надеюсь , что ребенок будет решен , то ...

andrew.46
источник
3

Белый шум математически является равномерным распределением частот. Вы можете произвести это со случайными данными от /dev/randomили /dev/urandom. Если вы хотите изменить «тон» создаваемого шума (например, сделать его менее «весомым», удалив более низкие частоты, или сделать его «более демпфирующим», удалив более высокие частоты), вы можете использовать команду, например, dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576для генерации немного белого шума, затем импортируйте его в Audacity и используйте фильтры верхних и нижних частот, чтобы настроить его по своему вкусу (при использовании фильтров помните, что среднее человеческое ухо будет слышать частоты до 20 кГц).

РЕДАКТИРОВАТЬ: Audacity может также генерировать сам белый шум.

Майкл Джонсон
источник
2

Tom Swiss из unreasonable.org использует следующий код (using sox) для генерации белого / розового шума. Сначала вам нужно установить sox ( sudo apt install sox), а затем создать скрипт оболочки со следующим кодом:

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

Наконечник шляпы http://unreasonable.org/white_noise_generator_with_sox_for_Linux

Отказ от ответственности: я сам еще не пробовал

Ник Вайнберг
источник
Он выводится с частотой дискретизации 8 кГц, поэтому шумовая энергия выше 4 кГц отсутствует. : / Правильный розовый шум должен иметь некоторые. Интересное предложение использовать фильтр вибрато / тремоло на шум, хотя.
Питер Кордес
1
Лучшее решение? Удалить len='7:00:00', if [ "$1" != '' ];thenи fi, добавив поддержку бесконечного шума.
EKons
1

Есть также Renoise, очень мощный мультиплатформенный аудио секвенсор, хотя полная версия коммерческая. Демо-версия, однако, не имеет многих ограничений и позволит вам делать то, что вы хотите, и добавлять фильтры, эффекты и т. Д. К сгенерированному звуку.

http://www.renoise.com

Истинный белый шум с фильтром нижних частот и, возможно, добавлением хоруса и реверберации для хорошего естественного эффекта, будет звучать довольно приятно.

DELT
источник