У меня трехнедельный ребенок. Изредка она отказывается спать. Некоторые люди говорят мне, что такова жизнь, некоторые люди говорят мне, что мне нужно покупать вещи, чтобы это исправить. Это становится тревожно распространенным паттерном в этой игре для родителей.
В любом случае, одна из вещей, которые мне нужно купить, это генератор белого шума . Белый шум определяется как:
случайный сигнал считается «белым шумом», если наблюдается, что он имеет плоский спектр в диапазоне частот, который имеет отношение к контексту. Например, для звукового сигнала соответствующим диапазоном является диапазон звуковых частот от 20 до 20000 Гц.
Есть несколько вещей, которые я могу купить. Приложения для Android, специализированные блоки, которые, я уверен, просто воспроизводят крошечный фрагмент предварительно сгенерированного шума, вплоть до мега-дорогих генераторов белого случайного белого шума.
Я знаю, что я мог бы загрузить один с youtube-dl
из одного из многих видео, но с авторским правом Кроме того, сжатие частоты ужасно в Интернете, я хочу, чтобы совершенство было полностью белым. Если такая вещь действительно существует. Кроме того, я жажду наказания и считаю, что если что-то можно сделать через командную строку, то так мы и должны поступать. Вот как я стремлюсь поднять это в любом случае.
Итак, у нас есть такие вещи, как /dev/urandom
и paplay
. Есть ли разумный способ взять случайные данные и направить их в слышимый диапазон белого шума и из моих динамиков? Ответы, которые пишут в файл, тоже в порядке. Важной вещью является образец с ограниченным диапазоном. Никаких воплей.
Примечание: ответы, которые генерируют коричневую заметку , не будут оценены apprec
Можно генерировать розовый шум с помощью команды игры от утилит носков:
sudo apt-get install sox
play -t sl -r48000 -c2 -n synth -1 pinknoise .1 60
Корректируют значения.1 и 60 для удовлетворения потребностям. Розовый шум менее резок на ухе и является, надо надеяться, звуком, которого Вы требуете
Белый шум является пыткой.
Специально для тонких ушей младенцев.
Это вызвано тем, что белый шум имеет слишком много энергии в высоких частотах.
Не уверенный, что это произведет реальный белый шум, который покрывает целый спектр, но простое
pacat /dev/urandom
, кажется, добивается цели в моей системе (никакая потребность установить что-либо новое или добавить репозиторий).
Примените швейцарский нож для звукового поколения, 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.
Я - обжора для наказания, таким образом, я дам Вам GUI путь. Смотрите на ANoise.
звук по умолчанию, с которым это идет, плох, но можно загрузить другой, походит на Лесной Дождь, Фонтан, & Другие. Можно установить его, чтобы запуститься с системы и даже установить его для остановки после определенного времени.
sudo add-apt-repository ppa:costales/anoise
sudo apt-get update
sudo apt-get install anoise
Код ANoise , И для Для дополнительного речного звука:
sudo apt-get install anoise-community-extension1
.xls
in2csv --write-sheets "-" filename.xls > sheetname.csv
дает только первый лист. Я don' t знают что дополнительную информацию добавить для записи всех листов. Это должно дать нам ключ к разгадке для исправления кода.
– csheth
8 November 2017 в 20:37
FFMpeg имеет фильтр источника акустического шума. Можно играть его использование ffplay
:
ffplay -f lavfi -showmode 0 -i 'anoisesrc=color=brown'
аргумент к -i
интерпретируется как lavfi граф фильтров, из-за -f lavfi
. -showmode 0
отключает аудио ffplay по умолчанию visualizer окно, которое оно показывает по умолчанию для исходных данных только для аудио.
, Как Вы видите от вывода ffmpeg -h filter=anoisesrc
, Вы получаете выбор коричневого/розового/белого шума цвета в любой амплитуде и samplerate, который Вы любите, дополнительно с конечной продолжительностью.
можно также использовать mpv
, хорошее ветвление mplayer или другие плееры, которые позволяют ffmpeg filtergraphs., например,
mpv av://lavfi:anoisesrc=color=brown
, Это могло бы быть удобно, если у Вас есть пользовательская установка аудиовыхода, настроенная для Вашего любимого плеера.
Откройте Audacity.
Входят, "Генерируют> Шум..."
"Броуновский" Выбор (путь, менее агрессивный, чем фактический белый шум). Амплитуда и продолжительность не имеют значения очень.
Цикл с помощью Сдвиг +Play кнопка.
pip install csvkit -U
. Я думаю способ, которым это работает, не то, что Вы любите с простым сценарием от 1-й опции, у Вас есть больше способов управлять выводом и именами файлов и т.д.
– pLumo
8 November 2017 в 21:02
Существует также Renoise, очень мощный многоплатформенный аудио секвенсер, хотя полная версия является коммерческой. Демоверсия однако не имеет многих ограничений и позволит Вам сделать то, что Вы хотите и добавляете фильтры, эффекты, и т.д. к сгенерированному звуку.
Истинный белый шум с фильтром низких частот, и возможно некоторый хор и реверберация, добавленная для хорошего естественного эффекта, звучал бы довольно приятным.
Я вижу, что никто еще не использовал aplay
, так попробуйте следующее:
aplay --channels=2 --format=S16_LE --rate=44100 --duration=3600 /dev/urandom
Это не является ужасно образным, таким образом, я добавил в таймере для компенсации :). Эти duration
настройки находятся в секундах, таким образом, это будет работать в течение 1 часа и затем выключать, надо надеяться, ребенок обоснуется к тому времени...
filename-{}.csv
содержащий данные. I' m новичок и can' t, кажется, находят ошибку путем редактирования сценария и чтения. Некоторая справка?
– csheth
8 November 2017 в 20:23
По умолчанию установленная утилита speaker-test
генерирует розовый шум (который, как @nightingale, то, что Вы действительно хотите, не белый шум). Это может быть установлено сделать так неограниченно долго путем выполнения
speaker-test -l 0
--write-sheets
, Возможно, можно установить эту альтернативную опцию как другой ответ... Я приму право преимущественной покупки как ответ тогда. Спасибо @RoVo
– csheth
8 November 2017 в 21:24
Tom Swiss unreasonable.org использует следующий код (использующий 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
Правовая оговорка: Я еще не попробовал это сам
xargs
и >
злой:-P. That' s, почему я предпочитаю другой цикл, it' s менее подверженный ошибкам.
– pLumo
8 November 2017 в 21:01
Белый шум является математически ровным распределением частот. Можно произвести его со случайными данными от /dev/random
или /dev/urandom
. Если Вы хотите изменить "тон" произведенного шума (например, чтобы сделать это менее "тяжелым" путем удаления нижних частот или сделать его "увлажнителем" путем удаления верхних частот) затем, Вы могли использовать команду такой в качестве dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576
для генерации некоторого белого шума, то импортировать его в Смелость и использовать высокие частоты и фильтры низких частот для корректировки его к симпатии (когда использование фильтров помнит, что среднее человеческое ухо услышит частоты до 20 кГц).
РЕДАКТИРОВАНИЕ: Смелость может также генерировать сам белый шум.
xargs
. Исправленный, не как изящный теперь.
– muru
8 November 2017 в 21:01