¿Analizador de espectro de frambuesa Pi con tira de LED RGB y Python (3 / 3 paso)

Paso 3: Editar defaults.cfg y ejecutar synchronized_lights_LED_strip.py personalizados

hice los siguientes cambios para /config/defaults.cfg:

gpio_pins = 7,0,1,2,3

Sólo tengo 5 columnas, así que sólo trunca la lista de salidas a 5 números.

Si desea utilizar la lista de reproducción, cambiar el playlist_path

También cambié la siguiente

min_frequency = 50
max_frequency = 150000

Comentario custom_channel_frequencies. Quiero dividir las frecuencias máximas y mínima uniformemente.

Por último, ejecute el script modificado para requisitos particulares:

sudo py/synchronized_lights.py--archivo /home/pi/some_random_music_file.mp3

Para la depuración, considerar la adición de v - 2 - readcache 0

He podido decodificar mp3s y jugar al mismo tiempo con sólo unos pocos problemas técnicos desde el principio de la canción. El código de la base tiene una función donde escribe a todos los niveles a un archivo de caché para que cuando juega la canción otra vez no tiene que ejecutar que el FFTs. readcache 0 desactiva esto si no quieres tener que borrar la cache de .gz que genera cada vez.

--------------------
Algunos destacados en las modificaciones a la original
--------------------

Los principales cambios consisten en remover el código GPIO y reemplazar con el código para enviar los niveles a la tira del RGB LED. La mejor forma de hacerlo sería modificar el archivo hardware_controller.py, pero no importa lo que algunos cambios a la original sería necesario ya que no sólo estoy usando señales de encendido/apagado ya.

Pasé la mayor parte de mi tiempo tratando de optimizar la velocidad de la función calculate_levels(). Me enteré de la línea

datos = np.array (datos, dtype = 'h')

, que simplemente crea un array de numpy de una matriz de python, tomó 10ms, que es tanto como todo el procesamiento FFT! Esto fue acelerado grandemente por sustitución con una función que carga una matriz de memoria binaria directamente:

NP.frombuffer (datos...

El resto de mis cosas de cambios sólo realmente afectados cuando estaba haciendo pruebas con puras ondas del seno (ver prueba adjunta archivos). Los ajustes dinámicos en el código original hizo trabajar bien a pesar de todo a continuación. ¡ Muy grande!

Puesto que el audio es stereo, lanzo hacia fuera los números desde los que representan el canal derecho. El código original fue analizar la señal estéreo como si fuera mono, que probablemente ha añadido un poco de energía a la banda de frecuencia más baja.

datos [:] = data_stereo [:: 2]

La fft también se ejecuta en un trozo no ventana de audio. Al ejecutar un FFT en un trozo de audio tallada en el centro de una canción, los bordes de la que se ven como gotas escarpadas del Algoritmo FFT. Esto añade un montón de energía a través de todas las bandas. La solución es forma cónica hacia abajo cada pedazo, o "ventana". Puedes ver que una foto de esta adjunto a esta página de antes y después de ventanas un trozo de audio.

ventana = np.hanning(len(data))
datos = datos * ventana

Por último, cuando el poder del sonido sube por un factor de 10, que escuchamos que como una duplicación, todos los contenedores en cada banda de frecuencias de la suma y me tome el log10 de aquellos para que los LEDs rebotan dos veces como alta cuando escuchamos el sonido doble.

Para probar las cosas, intente ejecutar los archivos de sonido adjuntos. El archivo de ruido rosa debe reportar el mismo poder total por banda de frecuencia. Esto es interesante, porque habrá sólo contenedores 5 o así en la primera banda y cientos de personas en la última, pero si usted suma todas las energías, deben ser el mismo, a pesar de la diferencia en número de contenedores. Ruido rosa ruido como es el mismo volumen a través de todo el espectro. El archivo de la barra de ruido rosa tiene un filtro pasabanda se barrió desde baja a alta, y se puede ver esta demo en el vídeo.

Artículos Relacionados

Elegante teléfono controlado árbol de Navidad con tira de LED RGB

Elegante teléfono controlado árbol de Navidad con tira de LED RGB

Navidad ya está aquí, hemos decorado este árbol de Navidad con tira de LED RGB para nuestra fiesta de Navidad y lo hizo un árbol de teléfono inteligente controlado. XD. es que presentará una magia de "última hora" para el espectáculo de Navidad.
Hexágonos de la pipa PEX con tira de LED RGB

Hexágonos de la pipa PEX con tira de LED RGB

Construido para un telón de fondo de etapa este proyecto cuenta con algunas formas hexagonales de 3/4" la pipa de PEX, similar a un aro del LED hula, algunos 12 voltios RGB LED tira y un NLED 30 canal alto LED controlador de corriente. Los hexágonos
Con un solo LED RGB o una tira de LED para mostrar información: reloj, termómetro y un comunicador raro

Con un solo LED RGB o una tira de LED para mostrar información: reloj, termómetro y un comunicador raro

Uno de los primeros proyectos que hice con un Arduino era una guirnalda de luces de Navidad. De hecho, fue hecho de una tira de LED RGB sencilla cortar en dos, como Arduino tiene sólo 6 salidas PWM de hardware. No quería triviales arcoiris y colores
Circuito de tira de LED RGB con Arduino

Circuito de tira de LED RGB con Arduino

Este Instructable cubre el montaje de un circuito capaz de ing de PWM (modulación de anchura de pulso) una tira de LED RGB 12v 9 y programación un Arduino para desplazarse a través de una gama de colores. Discutir cómo montar un transistor a un disip
Nube con tira de LEDs Neopixel y Freescale libertad Junta – KL25

Nube con tira de LEDs Neopixel y Freescale libertad Junta – KL25

Primero queremos agradecer a Hacedores Makerspace por la invitación a participar en la "Construcción de HACEDORES de noche" donde con las tarjetas de Freescale Semiconductor se hizo esta nube con una tira de leds neopixel.La tira de led neopixel
WiFi controló tira de LED RGB

WiFi controló tira de LED RGB

Los utiliza para controlar tiras de LED RGB control remoto IR a veces puede llegar a ser irritante debido a su gama limitada y buscando el control remoto cuando no las encuentra. Este proyecto simple, pero eficaz puede resolver un problema mediante e
Controladora de tira de LED RGB

Controladora de tira de LED RGB

Se trata de una control remoto multicolor LED tira caja regulador que hice para un amigo. Tenemos previsto instalar iluminación sutil dentro de su coche para los que tenemos una caja pequeña del regulador + mando a distancia con las tiras de LED mult
Tiras de LED RGB

Tiras de LED RGB

en este instructable, quería mostrarle mis tiras de LED RGB (rojas, verdes, azul). Cada tira tiene 36 LED ' s rojos, 36 LED verde y 36 LEDs azules. En general las tiras son 47 pulgadas de largo excepto el uno en el extremo izquierdo, es un poco más c
Controladora de tira de LED RGB de Arduino

Controladora de tira de LED RGB de Arduino

Tenía curiosidad sobre el uso de tira de LED RGB, así que compré uno y decidí hacer un pequeño controlador para ver lo que puedo hacer con ello... así que aquí está.Si tienes alguna duda, comentario, crítica constructiva... no dudes en escribirnos :)
Cómo controlar una tira de LED RGB - Tutorial de Arduino

Cómo controlar una tira de LED RGB - Tutorial de Arduino

En este tutorial vamos a utilizar una tira con 8 LED ' s RGB con la placa de Arduino uno. Usaremos la biblioteca de NeoPixel de Adafruit para cambiar el color de cada led.Vamos a empezar!Paso 1: Lo que se necesitaPara este proyecto necesitarás:Arduin
DIY Lámpara con tiras de LED y sanitarios

DIY Lámpara con tiras de LED y sanitarios

Este proyecto debe tomar no más de una o dos horas después de recibir las piezas juntos dependiendo de tu nivel de experiencia. Las partes deben ser bastante comunes en cualquier barrio o Ferreterias grandes a excepción de las tiras LED. Pueden encon
Solución de iluminación de escalera con tiras de LED

Solución de iluminación de escalera con tiras de LED

Como mucha gente, he comprado una casa con un sótano terminado, donde muchas cosas no se hicieron lo que les habría hecho, y una vez hay yeso encima, su duro arreglo eléctrico y comings cortos de iluminación.En los últimos dos años, un problema parti
Cambio caja estantes con tiras de LED y Arduino de color

Cambio caja estantes con tiras de LED y Arduino de color

Nota: este instructivo es parte de un concurso hasta el 7 de julio. Si realmente te gusta, puedes votar en la esquina superior derecha.Esto comenzó como necesitaba un almacenamiento extra a continuación y encima de un escritorio, pero quería darle al
Las infinitas posibilidades de tiras de LED RGB!!

Las infinitas posibilidades de tiras de LED RGB!!

Este es mi primer Inscrutable, y es sobre cómo añadir unas tiras de luz RGB (rojo verde azul) y un controlador a su coche, ni nada. Mina pongo bajo mi guión, sin embargo usted puede poner dondequiera usted tiene gusto, que es la belleza de ella!* ¡ C