command-line – Genera ruido blanco para calmar a un bebé.

Pregunta:

Tengo un bebé de tres semanas. De vez en cuando se niega a dormir. Algunas personas me dicen que así es la vida, algunas personas me dicen que necesito comprar cosas para arreglarlo. Esto se está convirtiendo en un patrón alarmantemente común en este juego de padres.

De todos modos, una de estas cosas que "necesito comprar" es un generador de ruido blanco . Ruido blanco definido como:

una señal aleatoria se considera "ruido blanco" si se observa que tiene un espectro plano en el rango de frecuencias que es relevante para el contexto. Para una señal de audio, por ejemplo, el rango relevante es la banda de frecuencias de sonido audible, entre 20 y 20.000 Hz.

Hay varias cosas que puedo comprar. Aplicaciones para Android, cajas dedicadas que estoy seguro que solo reproducen un pequeño fragmento de ruido pregenerado, hasta generadores de ruido blanco aleatorio real mega costosos.

Quiero generar mi propia muestra de ruido blanco.

Sé que podría descargar uno con youtube-dl de uno de los muchos videos que existen, pero aparte de los derechos de autor, la compresión de frecuencia es horrible en línea. Quiero bondad de frecuencia completamente blanca. Si tal cosa existe realmente. Además, soy un glotón para el castigo y creo que si se puede hacer algo a través de la línea de comandos, esa es la forma en que deberíamos hacerlo. Así es como pretendo criar este de todos modos.

Entonces tenemos cosas como /dev/urandom y paplay . ¿Existe una forma sensata de tomar datos aleatorios y canalizarlos en el rango audible de ruido blanco y fuera de mis parlantes? Las respuestas que se escriben en el archivo también están bien. Lo importante es una muestra estable de rango limitado. Sin graznidos.

Nota: las respuestas que generen la nota marrón no serán apreciadas ☹

Respuesta:

Utilice la navaja suiza para la generación de sonido, SoX .

Lo instalas desde los repositorios oficiales, simplemente escribiendo:

sudo apt-get install sox

Respuesta actualizada y elegante (agradables olas del océano):

Después de experimentar un poco con SoX, se me ocurrió este gran comando que imita el suave murmullo del mar con el relajante sonido de las olas que fluyen sobre una playa de arena plana en un día soleado de verano …

Bueno, basta de poesía, aquí está el comando. Escuche usted mismo.

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

Explicación:

Este comando primero genera y mezcla ruido marrón y ruido rosa, que me parece el ruido más cómodo y natural. Luego genera una onda sinusoidal de 0.3 Hz con una compensación del 10 % y la usa para modular la amplitud de nuestros ruidos mixtos para producir el sonido de las olas del océano.

Modificaciones:

  • Temporizador:
    Puede agregar un temporizador y limitar la duración de la reproducción especificando el número de segundos, el número de minutos y segundos ( mm:ss ) o el número de horas, minutos y segundos ( hh:mm:ss ) justo antes del brownnoise . Aquí tienes un ejemplo de una hora:

     play -n synth 1:0:0 brownnoise synth pinknoise mix synth sine amod 0.3 10
  • Frecuencia de onda:
    Si desea que las olas golpeen la playa con más o menos frecuencia, simplemente cambie la frecuencia de la onda sinusoidal utilizada para modificar la amplitud ( 0.3 en el comando anterior). El número representa la cantidad de ondas por segundo, por lo que una frecuencia de 0.1 Hz provocará 0,1 ondas por segundo y, por lo tanto, hará que una onda dure 10 segundos:

     play -n synth brownnoise synth pinknoise mix synth sine amod 0.1 10
  • Volumen mínimo de ruido de fondo:
    El seno que se usa para la modulación de amplitud se cambió a un desplazamiento del 10 %, por lo que el ruido marrón-rosa siempre se reproducirá con al menos un 10% de volumen. Si desea un ruido de fondo más fuerte o más débil, aumente o disminuya esta compensación según sus necesidades. A continuación, se muestra un ejemplo con un 20 % de ruido de fondo:

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

Respuesta antigua y aburrida (ruido blanco simple):

Ahora, el comando más fácil para reproducir ruido blanco infinitamente (hasta que lo canceles con Ctrl + C ) es este:

play -n synth whitenoise

Si prefiere un límite de tiempo, puede agregarlo en el formato hh:mm:ss . El siguiente comando haría ruido durante una hora y media, por ejemplo:

play -n synth 01:30:00 whitenoise

Incluso te muestra algunas estadísticas interesantes mientras "juegas":

$ 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.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım