web-dev-qa-db-fra.com

Générer du bruit blanc pour calmer un bébé

J'ai un bébé de trois semaines. Parfois, elle refuse de dormir. Certaines personnes me disent que la vie est telle, certaines personnes me disent que je dois acheter des choses pour la réparer. Cela devient un motif alarmant dans ce jeu de rôle parental.

Quoi qu'il en soit, l'une de ces choses "j'ai besoin d'acheter" est un générateur de bruit blanc . Bruit blanc défini comme:

un signal aléatoire est considéré comme un "bruit blanc" s'il est observé que son spectre est plat dans la gamme de fréquences pertinente pour le contexte. Pour un signal audio, par exemple, la gamme pertinente est la bande de fréquences sonores audibles, comprises entre 20 et 20 000 Hz.

Il y a plusieurs choses que je peux acheter. Des applications pour Android, des boîtiers dédiés qui, j'en suis sûr, ne font que jouer un minuscule extrait de bruit pré-généré, jusqu'aux générateurs de bruit blanc véritablement aléatoires méga.

Je veux générer mon propre échantillon de bruit blanc

Je sais que je pourrais en télécharger un avec youtube-dl à partir de l'une des nombreuses vidéos . Là-bas, mais en dehors du droit d’auteur, la compression de fréquence est horrible en ligne. Si une telle chose existe réellement. De plus, je suis un maniaque de la punition et je crois que si quelque chose peut être fait via la ligne de commande, c'est ce que nous devrions faire. C’est ainsi que j’ai l’intention d’élever celui-ci de toute façon.

Donc, nous avons des choses comme /dev/urandom et paplay. Existe-t-il un moyen judicieux de prendre des données aléatoires et de les canaliser dans la plage audible du bruit blanc et hors de mes enceintes? Les réponses écrites dans un fichier sont également acceptables. L'important est un échantillon stable à plage restreinte. Pas de cris.

Remarque: les réponses qui génèrent le note brune ne seront pas appréciées

120
Oli

Utilisez le couteau suisse pour la génération du son, SoX .

Vous l'installez depuis les dépôts officiels, simplement en tapant:

Sudo apt-get install sox

Réponse mise à jour et sophistiquée (vagues océaniques agréables):

Après avoir un peu expérimenté SoX, j’ai imaginé cette superbe commande qui imite le doux murmure de la mer avec son bruit apaisant de vagues qui s’écoulent sur une plage de sable fin par une journée d’été ensoleillée ...

Eh bien, assez de poésie, voici la commande. Écoutez-vous.

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

Explication:

Cette commande génère et mélange d’abord le bruit marron et le bruit rose, ce qui me semble être le bruit le plus confortable et le plus naturel. Il génère ensuite une onde sinusoïdale de 0.3 Hz avec un décalage de 10% et l’utilise pour moduler l’amplitude de nos bruits mélangés afin de produire le son des vagues de l’océan.

Modifications:

  • Minuterie:
    Vous pouvez ajouter une minuterie et limiter la durée de lecture en spécifiant le nombre de secondes, le nombre de minutes et de secondes (mm:ss) ou le nombre d’heures, de minutes et de secondes (hh:mm:ss) juste avant brownnoise. Voici un exemple d'une heure:

    play -n synth 1:0:0 brownnoise synth pinknoise mix synth sine amod 0.3 10
    
  • Fréquence d'onde:
    Si vous voulez que les vagues arrivent plus ou moins fréquemment sur la plage, changez simplement la fréquence de l’onde sinusoïdale utilisée pour la modification de l’amplitude (0.3 dans la commande ci-dessus). Le nombre représente la quantité d’ondes par seconde. Ainsi, une fréquence de 0.1 Hz provoquera 0,1 onde par seconde et, par conséquent, durera une onde pendant 10 secondes:

    play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10
    
  • Volume de bruit de fond minimal:
    Le sinus utilisé pour la modulation d'amplitude a été décalé de 10%. Le bruit brun-rose sera donc toujours joué avec au moins 10% du volume. Si vous souhaitez un bruit de fond plus fort ou plus faible, augmentez ou diminuez ce décalage selon vos besoins. Voici un exemple avec 20% bruit de fond:

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

Réponse ancienne, ennuyeuse (bruit blanc):

Maintenant, la commande la plus facile pour jouer le bruit blanc à l'infini (jusqu'à ce que vous l'abandonniez avec Ctrl+C) est-ce:

play -n synth whitenoise

Si vous préférez une limite de temps, vous pouvez l'ajouter au format hh:mm:ss. La commande suivante ferait du bruit pendant une heure et demie, par exemple:

play -n synth 01:30:00 whitenoise

Il vous montre même quelques statistiques de Nice en "jouant":

$ 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.
149
Byte Commander

Le bruit blanc est une torture.

Surtout pour les oreilles délicates des bébés.

En effet, le bruit blanc contient trop d’énergie dans les hautes fréquences.

43
nightingale

Vous pouvez générer du bruit rose à l'aide de la commande de lecture des utilitaires SOX:

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

Ajustez les valeurs de .1 et 60 en fonction de vos besoins. Le bruit rose est moins dur à l'oreille et est, espérons-le, le son dont vous avez besoin

27
Colin Ian King

Pas sûr que cela produise un vrai bruit blanc qui couvre tout le spectre, mais un simple

pacat /dev/urandom

semble faire l'affaire sur mon système (pas besoin d'installer quoi que ce soit de nouveau ou d'ajouter un référentiel).

19
dadexix86

Je suis un maniaque de la punition, je vais donc vous expliquer comment utiliser l'interface graphique. Jetez un oeil à ANoise .

Le son par défaut est mauvais, mais vous pouvez télécharger d’autres sons comme Forest Rain, Fountain, etc. Vous pouvez le configurer pour qu'il démarre avec le système et même pour qu'il s'arrête après un certain temps.

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

Code ANoise , et pour un son de rivière supplémentaire:

Sudo apt-get install anoise-community-extension1
14
Mitch

Ouvrez Audacity.

Allez dans "Générer> Bruit ..."

Sélectionnez "Brownian" (beaucoup moins agressif que le bruit blanc réel). L'amplitude et la durée importent peu.

Boucle utilisant Shift+ Bouton de lecture.

9
Marin

L'utilitaire installé par défaut speaker-test génère un bruit rose (qui, en tant que @nightingale, correspond à ce que vous voulez vraiment, pas à du bruit blanc). Il peut être configuré pour le faire indéfiniment en exécutant

speaker-test -l 0
6
Jules

FFMpeg a un filtre de source de bruit audio. Vous pouvez y jouer avec ffplayname __ :

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

L'argument de -i est interprété comme un graphe de filtre lavfi, en raison de -f lavfi. -showmode 0 désactive la fenêtre du visualiseur audio par défaut de ffplay, qu'il affiche par défaut pour les entrées uniquement audio.

Comme vous pouvez le constater à la sortie de ffmpeg -h filter=anoisesrc, vous avez le choix entre un bruit brun/rose/blanc, quelle que soit l'amplitude et le taux d'échantillonnage souhaités, avec éventuellement une durée finie.


Vous pouvez également utiliser mpvname__, un joli fork de mplayer , ou d’autres joueurs autorisant les filtres ffmpeg. par exemple.

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

Cela peut être pratique si vous avez une configuration de sortie audio personnalisée configurée pour votre lecteur favori.

5
Peter Cordes

Je vois que personne n'a encore utilisé aplay alors essayez ce qui suit:

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

Ce n’est pas très imaginatif, j’ai donc ajouté une minuterie pour compenser :). Les paramètres duration sont exprimés en secondes, ce qui durera une heure, puis s’éteindra. Si tout va bien, le bébé sera réglé d’ici là ...

5
andrew.46

Le bruit blanc est mathématiquement une distribution égale des fréquences. Vous pouvez le produire avec des données aléatoires à partir de /dev/random ou /dev/urandom. Si vous souhaitez modifier le "ton" du bruit produit (par exemple, pour le rendre moins "lourd" en supprimant les basses fréquences, ou pour le rendre "atténué" en supprimant les fréquences plus élevées), vous pouvez utiliser une commande telle que dd bs=1 if=/dev/urandom of=whitenoise.raw count=1048576 en générez du bruit blanc, puis importez-le dans Audacity et utilisez les filtres passe-haut et passe-bas pour l’ajuster à votre guise (lors de l’utilisation des filtres, rappelez-vous que l’oreille humaine moyenne entendra des fréquences jusqu’à 20 kHz).

EDIT: Audacity peut également générer du bruit blanc.

3
Micheal Johnson

Tom Swiss de unreasonable.org utilise le code suivant (en utilisant sox) pour générer du bruit blanc/rose. Vous devez d'abord installer sox (Sudo apt install sox), puis créer un script Shell avec le code suivant:

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

Astuce de chapeau http://unreasonable.org/white_noise_generator_with_sox_for_Linux

Disclaimer: Je n'ai pas encore essayé moi-même

2
Nick Weinberg

Il y a aussi Renoise, un séquenceur audio multi-plateformes très puissant, bien que la version complète soit commerciale. Cependant, la version de démonstration n'a pas beaucoup de limitations et vous permettra de faire ce que vous voulez et d'ajouter des filtres, des effets, etc. au son généré.

http://www.renoise.com

Un véritable bruit blanc avec un filtre passe-bas, et peut-être du chorus et de la réverbération ajoutés pour un effet naturel agréable, semblerait plutôt agréable.

1
delt