Giter Club home page Giter Club logo

systematic-leds's Issues

'bool' object is not subscriptable

When I click the LED strip manager tab , it crashes and error is "'bool' object is not subscriptable "

And it is pointing to line 1489 of main.py

Make the req_widgets

        req_widgets[device] = {}
        if config.device_req_config[device]:
            for req_config_setting in config.device_req_config[device]:

1489: label = config.device_req_config[device][req_config_setting][0]
guide = config.device_req_config[device][req_config_setting][1]
wType = config.device_req_config[device][req_config_setting][2]
deflt = config.device_req_config[device][req_config_setting][3]
wLabel = QLabel(label)

Arduino Errors

The communication method between the ESP8266 and main.py has changed, meaning that any ESP8266s in use need to be reflashed from the file "ESP8266.ino" in this tree. When this is fixed it will be remerged with master branch.

I apologise for any disruption caused by this, and as always, keep me up to date on any bugs.

LEDs flickering

I think I have a FastLED issue as you can see in this youtube video.

I removed all FastLED libraries from my laptop and reinstalled the suggested one.
Another thing that is unclear to me is if i the .ino file for the ESP should say #include "FastLED.h" or #include <FastLED.h> and what the difference between those notations is.

led strip flickering

Hello,
I had similar issue before with my old strip and I tough that I managed to damage it so I bought new one and I have same issue as before with old one. In Video strip is flickering even on static gradient. I used NodeMcu lua V3 and wemos D1 mini but same flickering occurs, even tried different psu's any ideas?
P.S. when i'm closing program flickering stops but when it's on even on static gradient strip flickers

index out of range error (might be related to #47)

Hi,
running on Ubuntu 18.04, without jackd running (audio-reactive-led-strip works great like this, btw), I get

Systematic-LEDs/python$ python3 main.py 
Could not find settings.ini
No user colours found
No user gradients found
QApplication: invalid style override passed, ignoring it.
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Traceback (most recent call last):
  File "main.py", line 2046, in <module>
    microphone = Microphone(microphone_update)
  File "main.py", line 847, in __init__
    self.setDevice(self.default_device_id)
  File "main.py", line 858, in setDevice
    self.device_id = self.devices[device_id]["index"]
IndexError: list index out of range

With jackd running, I get

Systematic-LEDs/python$ python3 main.py 
Could not find settings.ini
No user colours found
No user gradients found
QApplication: invalid style override passed, ignoring it.
ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
Cannot lock down 82280346 byte memory area (Cannot allocate memory)
Traceback (most recent call last):
  File "main.py", line 2046, in <module>
    microphone = Microphone(microphone_update)
  File "main.py", line 842, in __init__
    device_info = py_audio.get_device_info_by_host_api_device_index(0,i)
  File "/usr/lib/python3/dist-packages/pyaudio.py", line 852, in get_device_info_by_host_api_device_index
    host_api_device_index)
OSError: [Errno -9996] Invalid device

and the window freezes and uses 100% CPU. Any idea what is happening here?

By the way, I patched audio-reactive-led-strip to send output in the format of Systematic-LEDs
because I have a WS2811 strip and some WS2801 strips that are not supported by the libraries
used in the ESP8266 code in audio-reactive-led-strip. Tell me if you are interested in the code
(I did not post it because I thought you consider audio-reactive-led-strip dead.)

After 5-10 sec leds are out of sync and stop working

I flashed the esp8266 with upload speed of 57600, connected the data pin to D5 pin which is 4 pins left to the RX1 pin (worth to add this commend somewhere...) when starting the python application all the leds turned off and start getting signals from the python application.

using the following :
#define NUM_LEDS 100
#define DATA_PIN 5
//#define CLOCK_PIN 2
#define CHIPSET WS2812B
#define COLOR_ORDER GRB

The led stip itself is bigger the 100 leds but was tested it with only 100 leds. using WS2812B led strip.

is there a way to get the output of the esp8266 device to see if there some errors?
@not-matt Can you please confirm that the setup it right?

How to find MAC adrress of esp8266?

Ho to find MAC adress of ESP8266? So I could enter it to LED strip manager?
Or maybe I dont need it? Maybe I should disable autodetecting(but I dont know how to do it..)?

Also should I connect LED strip do RX pin on esp8266? in webcontroller.ino it says LED_PIN is 7.

Crash on Win10

Currently I'm running it on Windows 10 with Anaconda. Python Version is 3.6.4.
I've installed numpy, scipy, pyqtgraph and pyaudio

When I'm running the main.py the window opens for like 2 seconds and then closes.

The console:

(a) C:\Users\NilsH\Desktop\Systematic-LEDs-master\python>python main.py
Traceback (most recent call last):
File "C:\Users\NilsH\Desktop\Systematic-LEDs-master\python\lib\microphone.py", line 34, in start_stream
callback(y)
File "main.py", line 1353, in microphone_update
boards[board].show(outputs[board])
File "C:\Users\NilsH\Desktop\Systematic-LEDs-master\python\lib\devices.py", line 145, in show
self._sock.sendto(message, (self._ip, self._port))
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 1437, in
microphone.start_stream(microphone_update)
File "C:\Users\NilsH\Desktop\Systematic-LEDs-master\python\lib\microphone.py", line 40, in start_stream
gui.label_error.setText('Audio buffer has overflowed {} times'.format(overflows))
NameError: name 'gui' is not defined

LED stuttering/glitching

I'm running 300 LED's on a 30A power supply (Though the same problem occurred on 150 LED's) on a ESP-12F over DMA. The controlling computer is an recent i7 so there's plenty of processing power on that end. Every so often all the LED's will freeze or behave very slowly for around a second or so and then resume. Here's a video showing what I mean. It appears to happen on every effect.

https://www.youtube.com/watch?v=QUVJgAYLXdQ

Another startup problem

Hi,
audio-reactive-led-strip-master works just fine for me, but when I try to start Systematic-LEDs, I get

~/LED/Systematic-LEDs-master/python$ python3 main.py
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
Traceback (most recent call last):
File ".../LED/Systematic-LEDs-master/python/lib/microphone.py", line 21, in start_stream
callback(y)
File "main.py", line 1353, in microphone_update
boards[board].show(outputs[board])
File ".../LED/Systematic-LEDs-master/python/lib/devices.py", line 145, in show
self._sock.sendto(message, (self._ip, self._port))
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 1437, in
microphone.start_stream(microphone_update)
File ".../LED/Systematic-LEDs-master/python/lib/microphone.py", line 27, in start_stream
gui.label_error.setText('Audio buffer has overflowed {} times'.format(overflows))
NameError: name 'gui' is not defined

any idea what is happing here? I have no clue...

I am running Ubuntu 16.04 xenial, but I get the same problem with 18.04 bionic. Starting jackd does not help, either.

Frequency slider crash

If I try to change the frequency range with the slider it crashes and the error is :

Traceback (most recent call last):
File "D:\Projets\guirelande\Systematic-LEDs-master\python\main.py", line 1026, in set_freq_max
dsp.create_mel_bank()
AttributeError: module 'lib.dsp' has no attribute 'create_mel_bank'

I think it should be DSP and not dsp and maybe put the self attribute when calling the method as it follows. The cursor works without crashing but changing the max frequency value has no effects so maybe my correction is wrong....

DSP.create_mel_bank(self) def set_freq_min(): config.settings["configuration"]["MIN_FREQUENCY"] = self.board_tabs_widgets[board]["freq_slider"].start() DSP.create_mel_bank(self) def set_freq_max(): config.settings["configuration"]["MAX_FREQUENCY"] = self.board_tabs_widgets[board]["freq_slider"].end() DSP.create_mel_bank(self)

I simply can't get the LED's to work

My Hardware: LED WS2812B (40 LED's), NodeMCU v3 ESP8266 CH340G, DC supply (5V, 20W)

I'm following the guide on youtube https://www.youtube.com/watch?v=W4jaAgjfvG8, and after many tries I can get the visualization to work. It detects sound on my PC and I can see the visualization on the program. Pings are ~100/60 in console output, program says ~60/60. So I guess the software runs as it should.

Now I was (still am) a total newb, this is my first real project with Arduino/python etc. So there might be things, not explained in the guide, that I missed.
Here's what I tried to troubleshoot:

  1. Checking Hardware. Wires are all connected to each other, tried it with and without 1000uF Capacity. LED strip works (tested directly on PC). DC supply works (can light up a single LED and power the board). Board works (can ping it with and without connected to the PC via USB).

  2. Board Output. Tested with a simple program to light up a LED periodically works. I connected it to the D7 pin (RX2 pin) as advised on another guide. Tested the actual program with different pins, but FastLED says they are invalid.

  3. general troubleshoot. (Re-)installing Firmware, Checking LEDnumbers/ports/IP's/MAC-adresses to match up in every file. Changing directories (Arduino IDE and Anaconda are on another drive than the actual code, is this a Problem?)

I don't know what else I can do, I'm pretty desperate right now.
My biggest concern is, that the tutorial says to use Pin number 5, whereas the Pinout https://github.com/opendata-stuttgart/meta/wiki/Pinouts-NodeMCU-v2,-v3 says that RX0 Pin is on Pin D9 (3). Tried Pin 3, but it still doesn't light up the Led's.

I don't know if this fit's in here, so feel free to delete this thread. I just don't know what to do anymore.
If it helps I can attach pictures of setup with more details.

Leds freeze

On some modes my leds are freezing, I'm not sure what's causing it but I suspect it is something in the packed sent to the ESP8266 that causes it to crash or freeze up, when I try pinging the ESP after it had happened it says request timed out.
Anyone knows if this is an configuration issue or a coding issue?

Python 3.6

I'm running this on RP3 - does this require python 3.6? Also having problem running/setting up this. Is there tutorial available (or is scottlawsonbc/audio-reactive-led-strip the only one)?

Cannot start main.py

I have taken the latest master pull and having errors when I start main.py. It starts for a second then the following errors come up.

audio-reactive-led-strip) C:\Systematic-LEDs-master\python>python main.py
Traceback (most recent call last):
  File "C:\Systematic-LEDs-master\python\lib\microphone.py", line 21, in start_stream
    callback(y)
  File "main.py", line 1353, in microphone_update
    boards[board].show(outputs[board])
  File "C:\Systematic-LEDs-master\python\lib\devices.py", line 145, in show
    self._sock.sendto(message, (self._ip, self._port))
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 1437, in <module>
    microphone.start_stream(microphone_update)
  File "C:\Systematic-LEDs-master\python\lib\microphone.py", line 27, in start_stream
    gui.label_error.setText('Audio buffer has overflowed {} times'.format(overflows))
NameError: name 'gui' is not defined

(audio-reactive-led-strip) C:\Systematic-LEDs-master\python>

List of my enviroment:

(audio-reactive-led-strip) C:\Systematic-LEDs-master\python>conda list
# packages in environment at C:\Users\Matt\Anaconda3\envs\audio-reactive-led-strip:
#
# Name                    Version                   Build  Channel
ca-certificates           2017.08.26           h94faf87_0
certifi                   2018.1.18                py36_0
icc_rt                    2017.0.4             h97af966_0
icu                       58.2                 ha66f8fd_1
intel-openmp              2018.0.0             hd92c6cd_8
jpeg                      9b                   hb83a4c4_2
libpng                    1.6.34               h79bbb47_0
mkl                       2018.0.1             h2108138_4
numpy                     1.14.1           py36hb69e940_2
openssl                   1.0.2n               h74b6da3_0
pip                       9.0.1            py36h226ae91_4
PyAudio                   0.2.11                    <pip>
pyqt                      5.6.0            py36hb5ed885_5
pyqtgraph                 0.10.0                   py36_0
python                    3.6.4                h6538335_1
qt                        5.6.2           vc14h6f8c307_12
scipy                     1.0.0            py36h1260518_0
setuptools                38.5.1                   py36_0
sip                       4.18.1           py36h9c25514_2
sqlite                    3.22.0               h9d3ae62_0
vc                        14                   h0510ff6_3
vs2015_runtime            14.0.25123                    3
wheel                     0.30.0           py36h6c3ec14_1
wincertstore              0.2              py36h7fe50ca_0
zlib                      1.2.11               h8395fce_2

(audio-reactive-led-strip) C:\Systematic-LEDs-master\python>

Above using Windows 10 - 64 bit - Python 3.6.4
Downloaded it again on a different windows 10 PC with Python 3.6.2
Guessing because of Python 3.6?

Can't put Esp8266 into LED Strip Manager

After putting in all the required information, including the MAC address, the Add Device button is still greyed out. I have verified multiple times that that was the right MAC address, and it is the only input that was red, the rest were green. Any help is appreciated

pyaudio: Invalid Device

This is the error I get when trying to launch the script.

(disco-led) C:\Systematic-LEDs\python>python main.py
Could not find settings.ini
No user colours found
No user gradients found
Traceback (most recent call last):
  File "main.py", line 2014, in <module>
    microphone = Microphone(microphone_update)
  File "main.py", line 830, in __init__
    device_info = py_audio.get_device_info_by_host_api_device_index(0,i)
  File "C:\Users\Ritvars\Anaconda3\envs\disco-led\lib\site-packages\pyaudio.py", line 852, in get_device_info_by_host_api_device_index
    host_api_device_index)
OSError: [Errno -9996] Invalid device

PyAudio get_default_input_device_info() output:

>>> import pyaudio
>>> pa = pyaudio.PyAudio()
>>> pa.get_default_input_device_info()
{'index': 1, 'structVersion': 2, 'name': 'VoiceMeeter Aux Output (VB-Audi', 'hostApi': 0, 'maxInputChannels': 8, 'maxOutputChannels': 0, 'defaultLowInputLatency': 0.09, 'defaultLowOutputLatency': 0.09, 'defaultHighInputLatency': 0.18, 'defaultHighOutputLatency': 0.18, 'defaultSampleRate': 44100.0}

Any ideas?

Graphical Interface not working in program

I have followed the youtube guide pretty closely.
I have a Adafruit Huzzah esp8226 that is correctly setup and confirms a good ping to my computer.
I have a WS2812 LED strip attached to a power supply with the data and ground pins also leading to the esp.

I have correctly built the main.py file in anaconda with Python 3.6. It launches and I can type in all my info.
I type in the mac address of the ESP, the ip of the ESP, and the number of LEDs on my strip and the port number. I have VoiceMeeter installed and setup correctly as shown in the video. It appears to be working just fine as well. In the Systematic LED program, no waveform is produced at all from any input however it does say at the bottom that no sound is detected when my music is off. When I turn the music on, that message goes away but the graphical interface produces no movement. This seems to be a problem with your software. It seems you have abandoned this project but I hope there is an easy fix for this as I would very much like to use your software.

Cannot start main.py - SyntaxError: invalid syntax

I have pull the actual master and configured ip and the option no gui. When i start main.py:

" /opt/Systematic-LEDs/python/main.py
File "/opt/Systematic-LEDs/python/main.py", line 1110
for key, label, ui_element, *opts in visualizers[self.board].dynamic_effects_config[effect]:
^
SyntaxError: invalid syntax
"

(the circumflex (^) is under the asterisk(*) bevor opts)

thank you for the effort

Exception on startup

Hi,
was trying to fork and run this branch:

(visualization-env) C:\visual\Systematic-LEDs-master\Systematic-LEDs-master\python>python main.py
Traceback (most recent call last):
File "C:\visual\Systematic-LEDs-master\Systematic-LEDs-master\python\lib\microphone.py", line 21, in start_stream
callback(y)
File "main.py", line 1353, in microphone_update
boards[board].show(outputs[board])
File "C:\visual\Systematic-LEDs-master\Systematic-LEDs-master\python\lib\devices.py", line 145, in show
self._sock.sendto(message, (self._ip, self._port))
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 1437, in
microphone.start_stream(microphone_update)
File "C:\visual\Systematic-LEDs-master\Systematic-LEDs-master\python\lib\microphone.py", line 27, in start_stream
gui.label_error.setText('Audio buffer has overflowed {} times'.format(overflows))
NameError: name 'gui' is not defined

(visualization-env) C:\visual\Systematic-LEDs-master\Systematic-LEDs-master\python>

any idea?

How tu run main.py on iMac + Anaconda?

Hello Sirs!

Could you please tell me what command to type or how to run file main.py??
I have installed Anaconda and these: "conda install numpy scipy pyqtgraph
pip install pyaudio". So next step would be to run main.py. But how to do it?:)

P.S. Im using MacOS

Thanks in advance!

Audio Buffer Overflow

Effects "Energy" and "Scroll" are broken, causing audio buffer overflows and crashing the program. Please let me know of any relevant information and crash reports while I fix this.

No output

Hello, i dont get output on the leds. I connected the nodeMcu and the led strip to the same power connected the D0 to RX pin and the ground pin to the ground. how can i fix this?

WS2811 support

Hi,

This project work just fine for ws2812B, was trying to run it over ws2811, but leds not start. I changed the Arduino chipset to WS2811, but still did not work.

Do you know if any change is needed? or i have a local problem?

No devices show up in config.py

I realy need help. In my config.py file no devices show up, no matter what I try:
"""Default settings and configuration for audio reactive LED strip"""
from future import print_function
from future import division
import os

use_defaults = {"configuration": True, # See notes below for detailed explanation
"GUI_opts": False,
"devices": False,
"mic_config": False}

settings = { # All settings are stored in this dict
"configuration":{ # Program configuration
'USE_GUI': True, # Whether to display the GUI
'DISPLAY_FPS': False, # Whether to print the FPS when running (can reduce performance)
'FPS': 60, # Desired refresh rate of the visualization (frames per second)
'MAX_BRIGHTNESS': 250, # Max brightness sent to LED strip
'N_ROLLING_HISTORY': 4, # Number of past audio frames to include in the rolling window
'MIN_VOLUME_THRESHOLD': 0.001 # No music visualization displayed if recorded audio volume below threshold
#'LOGARITHMIC_SCALING': True, # Scale frequencies logarithmically to match perceived pitch of human ear
},

"GUI_opts":{"Graphs":True,                                      # Which parts of the gui to show
            "Reactive Effect Buttons":True,
            "Non Reactive Effect Buttons":True,
            "Frequency Range":True,
            "Effect Options":True},

# DO NOT MANUALLY ADD STUFF BELOW HERE UNLESS YOU KNOW WHAT YOU ARE DOING.
# These dicts are generated by the program at runtime, usually from settings.ini

**# All devices and their respective settings.
"devices":{},**
# mic settings
"mic_config":{},

}

colour_manager = {
# DON'T FIDDLE WITH THIS EITHER
# saved colours
"default_colours":{},
# saved colours
"default_gradients":{},
# saved colours
"user_colours":{},
# saved gradients
"user_gradients":{}
}

Required config used by GUI to generate add board interface

device_req_config = {"Stripless" : None, # duh
"BlinkStick" : None,
"DotStar" : None,
"ESP8266" : {"AUTO_DETECT": ["Auto Detect",
"Automatically detect device on network using MAC address",
"checkbox",
True],
"MAC_ADDR" : ["Mac Address",
"Hardware address of device, used for auto-detection",
"textbox",
"aa-bb-cc-dd-ee-ff"],
"UDP_IP" : ["IP Address",
"IP address of device, used if auto-detection isn't active",
"textbox",
"xxx.xxx.xxx.xxx"],
"UDP_PORT" : ["Port",
"Port used to communicate with device",
"textbox-int",
"7778"]},
"PxMatrix" : {"AUTO_DETECT": ["Auto Detect",
"Automatically detect device on network using MAC address",
"checkbox",
True],
"MAC_ADDR" : ["Mac Address",
"Hardware address of device, used for auto-detection",
"textbox",
"aa-bb-cc-dd-ee-ff"],
"UDP_IP" : ["IP Address",
"IP address of device, used if auto-detection isn't active",
"textbox",
"xxx.xxx.xxx.xxx"],
"UDP_PORT" : ["Port",
"Port used to communicate with device",
"textbox-int",
"7778"]},
"RaspberryPi" : {"LED_PIN" : ["LED Pin",
"GPIO pin connected to the LED strip RaspberryPi (must support PWM)",
"textbox-int",
"10"],
"LED_FREQ_HZ": ["LED Frequency",
"LED signal frequency in Hz",
"textbox-int",
"800000"],
"LED_DMA" : ["DMA Channel",
"DMA channel used for generating PWM signal",
"textbox-int",
"5"],
"LED_INVERT" : ["Invert LEDs",
"Set True if using an inverting logic level converter",
"checkbox",
True]},
"Fadecandy" : {"SERVER" : ["Server Address",
"Address of Fadecandy server",
"textbox",
"localhost:7890"]}
}

General config used by GUI to generate add board interface

device_gen_config = {"NAME" : ["Name",
"Name of LED strip",
"textbox",
"eg. Desk LEDs"],
"N_PIXELS" : ["No. of LEDs",
"Number of LEDs on this strip",
"textbox-int",
"100"],
"N_FFT_BINS" : ["No. of FFT Bins",
"Number of frequency bins to use when transforming audio to frequency domain",
"textbox-int",
"24"],
"MIN_FREQUENCY": ["Min Frequency",
"Frequencies below this value will be removed during audio processing",
"textbox-int",
"20"],
"MAX_FREQUENCY": ["Max Frequency",
"Frequencies above this value will be removed during audio processing",
"textbox-int",
"18000"]
}

Default general config for any new device

default_general_config = {"N_PIXELS": 100, # Number of pixels in the LED strip (must match ESP8266 firmware)
"N_FFT_BINS": 24, # Number of frequency bins to use when transforming audio to frequency domain
"MIN_FREQUENCY": 20, # Frequencies below this value will be removed during audio processing
"MAX_FREQUENCY": 18000, # Frequencies above this value will be removed during audio processing
"current_effect": "Scroll"} # Currently selected effect for this board, used as default when program launches

Default effect opts for any new device

default_effect_opts = {"Energy": {"blur": 1, # Amount of blur to apply
"scale":0.9, # Width of effect on strip
"r_multiplier": 1.0, # How much red
"mirror": True, # Reflect output down centre of strip
"g_multiplier": 1.0, # How much green
"b_multiplier": 1.0}, # How much blue
"Wave": {"color_wave": "Red", # Colour of moving bit
"color_flash": "White", # Colour of flashy bit
"wipe_len":5, # Initial length of colour bit after beat
"decay": 0.7, # How quickly the flash fades away
"wipe_speed":2}, # Number of pixels added to colour bit every frame
"Spectrum": {"r_multiplier": 1.0, # How much red
"g_multiplier": 1.0, # How much green
"b_multiplier": 1.0}, # How much blue
"Wavelength":{"roll_speed": 0, # How fast (if at all) to cycle colour overlay across strip
"color_mode": "Spectral", # Colour gradient to display
"mirror": False, # Reflect output down centre of strip
"reverse_grad": False, # Flip (LR) gradient
"reverse_roll": False, # Reverse movement of gradient roll
"blur": 3.0, # Amount of blur to apply
"flip_lr":False}, # Flip output left-right
"Scroll": {"lows_color": "Red", # Colour of low frequencies
"mids_color": "Green", # Colour of mid frequencies
"high_color": "Blue", # Colour of high frequencies
"decay": 0.995, # How quickly the colour fades away as it moves
"speed": 4, # Speed of scroll
"mirror": True, # Reflect output down centre of strip
"r_multiplier": 1.0, # How much red
"g_multiplier": 1.0, # How much green
"b_multiplier": 1.0, # How much blue
"blur": 0.7}, # Amount of blur to apply
"Power": {"color_mode": "Spectral", # Colour gradient to display
"s_count": 20, # Initial number of sparks
"s_color": "White", # Color of sparks
"mirror": True, # Mirror output down central axis
"flip_lr":False}, # Flip output left-right
"Single": {"color": "Purple"}, # Static color to show
"Beat": {"color": "Red", # Colour of beat flash
"decay": 0.7}, # How quickly the flash fades away
"Bars": {"resolution":4, # Number of "bars"
"color_mode":"Spectral", # Multicolour mode to use
"roll_speed":0, # How fast (if at all) to cycle colour colours across strip
"mirror": False, # Mirror down centre of strip
"reverse_roll": False, # Reverse movement of gradient roll
"flip_lr":False}, # Flip output left-right
"Gradient": {"color_mode":"Spectral", # Colour gradient to display
"roll_speed": 0, # How fast (if at all) to cycle colour colours across strip
"mirror": False, # Mirror gradient down central axis
"reverse": False}, # Reverse movement of gradient
"Fade": {"color_mode":"Spectral", # Colour gradient to fade through
"roll_speed": 1, # How fast (if at all) to fade through colours
"reverse": False}, # Reverse "direction" of fade (r->g->b or r<-g<-b)
"Calibration":{"r": 100, # Red value
"g": 100, # Green value
"b": 100} # Blue value
}

Configurations for dynamic ui generation. Effect options can be changed by widgets created at runtime,

meaning that you don't need to worry about the user interface - it's all done for you. All you need to

do is add items to this dict below.

First line of code below explained (as an example):

"Energy" is the visualization we're doing options for

"blur" is the key in the options dict (config.settings["devices"][self.board]["effect_opts"]["Energy"]["blur"])

"Blur" is the string we show on the GUI next to the slider

"float_slider" is the GUI element we want to use

(0.1,4.0,0.1) is a tuple containing all the details for setting up the slider (see above)

Each effect key points to a list. Each list contains lists giving config for each option.

Syntax: effect:[key, label_text, ui_element, opts]

effect - the effect which you want to change options for. MUST have a key in config.settings["devices"][board]["effect_opts"]

key - the key of thing you want to be changed. MUST be in config.settings["devices"][board]["effect_opts"][effect], otherwise it won't work.

label - the text displayed on the ui

ui_element - how you want the variable to be changed

opts - options for the ui element. check below for what each ui element needs.

UI Elements + opts:

slider, (min, max, interval) (for integer values in a given range)

float_slider, (min, max, interval) (for floating point values in a given range)

checkbox, leave blank (for True/False values)

dropdown, (dict, list, "colours"/"gradients") (dict/list, example see below. Keys will be displayed in the dropdown if dict, otherwise just list items. "colours" or "gradients" will handle colour/grad selection for you

Hope this clears things up a bit for you! GUI has never been easier..? The reason for doing this is

1 - To make it easy to add options to your effects for the user

2 - To give a consistent GUI for the user. If every options page was set out differently it would all be a mess

dynamic_effects_config = {"Energy":[["blur", "Blur", "float_slider", (0.1,4.0,0.1)],
["scale", "Scale", "float_slider", (0.4,1.0,0.05)],
["r_multiplier", "Red", "float_slider", (0.05,1.0,0.05)],
["mirror", "Mirror", "checkbox"],
["g_multiplier", "Green", "float_slider", (0.05,1.0,0.05)],
["b_multiplier", "Blue", "float_slider", (0.05,1.0,0.05)]],
"Wave":[["color_flash", "Flash Color", "dropdown", "colours"],
["color_wave", "Wave Color", "dropdown", "colours"],
["wipe_len", "Wave Start Length", "slider", (0,50,1)],
#["wipe_len", "Wave Start Length", "slider", (0,config.settings["devices"][self.board]["configuration"]["N_PIXELS"]//4,1)],
["wipe_speed", "Wave Speed", "slider", (1,10,1)],
["decay", "Flash Decay", "float_slider", (0.1,1.0,0.05)]],
"Spectrum":[["r_multiplier", "Red", "float_slider", (0.05,1.0,0.05)],
["g_multiplier", "Green", "float_slider", (0.05,1.0,0.05)],
["b_multiplier", "Blue", "float_slider", (0.05,1.0,0.05)]],
"Wavelength":[["color_mode", "Color Mode", "dropdown", "gradients"],
["roll_speed", "Roll Speed", "slider", (0,8,1)],
["blur", "Blur", "float_slider", (0.1,4.0,0.1)],
["mirror", "Mirror", "checkbox"],
["reverse_grad", "Reverse Gradient", "checkbox"],
["reverse_roll", "Reverse Roll", "checkbox"],
["flip_lr", "Flip LR", "checkbox"]],
"Scroll":[["lows_color", "Lows Color", "dropdown", "colours"],
["mids_color", "Mids Color", "dropdown", "colours"],
["high_color", "Highs Color", "dropdown", "colours"],
["blur", "Blur", "float_slider", (0.05,4.0,0.05)],
["mirror", "Mirror", "checkbox"],
["decay", "Decay", "float_slider", (0.97,1.0,0.0005)],
["speed", "Speed", "slider", (1,5,1)]],
"Power":[["color_mode", "Color Mode", "dropdown", "gradients"],
["s_color", "Spark Color ", "dropdown", "colours"],
["s_count", "Spark Amount", "slider", (0,20,1)],
#["s_count", "Spark Amount", "slider", (0,config.settings["devices"][self.board]["configuration"]["N_PIXELS"]//6,1)],
["mirror", "Mirror", "checkbox"],
["flip_lr", "Flip LR", "checkbox"]],
"Single":[["color", "Color", "dropdown", "colours"]],
"Beat":[["color", "Color", "dropdown", "colours"],
["decay", "Flash Decay", "float_slider", (0.3,0.98,0.005)]],
"Bars":[["color_mode", "Color Mode", "dropdown", "gradients"],
["resolution", "Resolution", "slider", (1, 24, 1)],
#["resolution", "Resolution", "slider", (1, config.settings["devices"][self.board]["configuration"]["N_FFT_BINS"], 1)],
["roll_speed", "Roll Speed", "slider", (0,8,1)],
["flip_lr", "Flip LR", "checkbox"],
["mirror", "Mirror", "checkbox"],
["reverse_roll", "Reverse Roll", "checkbox"]],
"Gradient":[["color_mode", "Color Mode", "dropdown", "gradients"],
["roll_speed", "Roll Speed", "slider", (0,8,1)],
["mirror", "Mirror", "checkbox"],
["reverse", "Reverse", "checkbox"]],
"Fade":[["color_mode", "Color Mode", "dropdown", "gradients"],
["roll_speed", "Fade Speed", "slider", (0,8,1)],
["reverse", "Reverse", "checkbox"]],
"Calibration":[["r", "Red value", "slider", (0,255,1)],
["g", "Green value", "slider", (0,255,1)],
["b", "Blue value", "slider", (0,255,1)]]}

default_colours = {"Red":(255,0,0),
"DeepOrange":(255,40,0),
"Orange":(255,70,0),
"Yellow":(255,255,0),
"Green":(0,255,0),
"Blue":(0,0,255),
"Light blue":(0,247,161),
"Purple":(255,0,200),
"Pink":(255,0,178),
"White":(255,255,255),
"Black":(0,0,0)}

default_gradients = {"Spectral": [(255, 0, 0), (255,70,0), (255, 255, 0), (0, 255, 0), (0, 247, 161), (0, 0, 255), (255, 0, 200), (255, 0, 178)],
"Dancefloor": [(255, 0, 0), (255, 0, 178), (255, 0, 200), (0, 0, 255)],
"Sunset": [(255, 0, 0), (255,70,0), (255, 255, 0)],
"Ocean": [(0, 255, 0), (0, 247, 161), (0, 0, 255)],
"Jungle": [(0, 255, 0), (255,70,0), (255, 0, 0)],
"Sunny": [(255, 255, 0), (0, 247, 161), (255,70,0), (0, 0, 255)],
"Fruity": [(255, 40, 0), (0, 0, 255)],
"Peach": [(255,70,0), (255, 0, 178)],
"Rust": [(255, 40, 0), (255, 0, 0)]}

plz ignore

default_gradients = {"Spectral" : ["Red", "Orange", "Yellow", "Green", "Light blue", "Blue", "Purple", "Pink"],

"Dancefloor": ["Red", "Pink", "Purple", "Blue"],

"Sunset" : ["Red", "Orange", "Yellow"],

"Ocean" : ["Green", "Light blue", "Blue"],

"Jungle" : ["Green", "Red", "Orange"],

"Sunny" : ["Yellow", "Light blue", "Orange", "Blue"],

"Fruity" : ["Orange", "Blue"],

"Peach" : ["Orange", "Pink"],

"Rust" : ["Orange", "Red"]}

for gradient in default_gradients:

colours = []

for colour in default_gradients[gradient]:

colours.append(default_colours[colour])

print("""+gradient+"":", colours)

"""
~~ NOTES ~~
[use_defaults]
For any dicts in this file (config.py), you can add them into the use_defaults
dict to force the program to use these values over any stored in settings.ini
that you would have set using the GUI. At runtime, settings.ini is used to update
the above dicts with custom set values.
If you're running a headless RPi, you may want to edit settings in this file, then
specify to use the dict you wrote, rather than have the program overwrite from
settings.ini at runtime. You could also run the program with the gui, set the
settings that you want, then disable the gui and the custom settings will still
be loaded. Basically it works as you would expect it to.
[DEVICE TYPE]
Device used to control LED strip.
'ESP8266' means that you are using an ESP8266 module to control the LED strip
and commands will be sent to the ESP8266 over WiFi. You can have as many of
these as your computer is able to handle.
'RaspberryPi' means that you are using a Raspberry Pi as a standalone unit to process
audio input and control the LED strip directly.
'BlinkStick' means that a BlinkstickPro is connected to this PC which will be used
to control the leds connected to it.
'Fadecandy' means that a Fadecandy server is running on your computer and is connected
via usb to a Fadecandy board connected to LEDs
'DotStar' creates an APA102-based output device. LMK if you have any success
getting this to work becuase i have no clue if it will.
'Stripless' means that the program will run without sending data to a strip.
Useful for development etc, but doesn't look half as good ;)
[REQUIRED CONFIGURATION KEYS]
===== 'ESP8266'
"AUTO_DETECT" # Set this true if you're using windows hotspot to connect (see below for more info)
"MAC_ADDR" # MAC address of the ESP8266. Only used if AUTO_DETECT is True
"UDP_IP" # IP address of the ESP8266. Must match IP in ws2812_controller.ino
"UDP_PORT" # Port number used for socket communication between Python and ESP8266
===== 'RaspberryPi'
"LED_PIN" # GPIO pin connected to the LED strip pixels (must support PWM)
"LED_FREQ_HZ" # LED signal frequency in Hz (usually 800kHz)
"LED_DMA" # DMA channel used for generating PWM signal (try 5)
"BRIGHTNESS" # Brightness of LED strip between 0 and 255
"LED_INVERT" # Set True if using an inverting logic level converter
===== 'BlinkStick'
No required configuration keys
===== 'Fadecandy'
"SERVER" # Address of Fadecandy server. (usually 'localhost:7890')
===== 'DotStar'
No required configuration keys
===== 'Stripless'
No required configuration keys (heh)
[AUTO_DETECT]
Set to true if the ip address of the device changes. This is the case if it's connecting
through windows hotspot, for instance. If so, give the mac address of the device. This
allows windows to look for the device's IP using "arp -a" and finding the matching
mac address. I haven't tested this on Linux or macOS.
[FPS]
FPS indicates the desired refresh rate, or frames-per-second, of the audio
visualization. The actual refresh rate may be lower if the computer cannot keep
up with desired FPS value.
Higher framerates improve "responsiveness" and reduce the latency of the
visualization but are more computationally expensive.
Low framerates are less computationally expensive, but the visualization may
appear "sluggish" or out of sync with the audio being played if it is too low.
The FPS should not exceed the maximum refresh rate of the LED strip, which
depends on how long the LED strip is.
[N_FFT_BINS]
Fast Fourier transforms are used to transform time-domain audio data to the
frequency domain. The frequencies present in the audio signal are assigned
to their respective frequency bins. This value indicates the number of
frequency bins to use.
A small number of bins reduces the frequency resolution of the visualization
but improves amplitude resolution. The opposite is true when using a large
number of bins. More bins is not always better!
There is no point using more bins than there are pixels on the LED strip.

Left in for manual device control
"TYPE": "ESP8266", # Device type (see below for all supported boards)
"AUTO_DETECT": True, # Set this true if you're using windows hotspot to connect (see below for more info)
"MAC_ADDR": "192.168.137.86", # MAC address of the ESP8266. Only used if AUTO_DETECT is True
"UDP_IP": "YOUR IP HERE", # IP address of the ESP8266. Must match IP in ws2812_controller.ino
"UDP_PORT": 7778, # Port number used for socket communication between Python and ESP8266
"MAX_BRIGHTNESS": 250, # Max brightness of output (0-255) (my strip sometimes bugs out with high brightness)
"N_PIXELS": 100, # Number of pixels in the LED strip (must match ESP8266 firmware)
"N_FFT_BINS": 24, # Number of frequency bins to use when transforming audio to frequency domain
"MIN_FREQUENCY": 20, # Frequencies below this value will be removed during audio processing
"MAX_FREQUENCY": 18000, # Frequencies above this value will be removed during audio processing
"current_effect": "Scroll" # Currently selected effect for this board, used as default when program launches

"""

for board in settings["devices"]:
if settings["devices"][board]["configuration"]["TYPE"] == 'ESP8266':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = True
# Set to False because the firmware handles gamma correction + dither
elif settings["devices"][board]["configuration"]["TYPE"] == 'PxMatrix':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = True
elif settings["devices"][board]["configuration"]["TYPE"] == 'RaspberryPi':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = True
# Set to True because Raspberry Pi doesn't use hardware dithering
elif settings["devices"][board]["configuration"]["TYPE"] == 'BlinkStick':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = True
elif settings["devices"][board]["configuration"]["TYPE"] == 'DotStar':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = False
elif settings["devices"][board]["configuration"]["TYPE"] == 'Fadecandy':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = False
elif settings["devices"][board]["configuration"]["TYPE"] == 'Stripless':
settings["devices"][board]["configuration"]["SOFTWARE_GAMMA_CORRECTION"] = False
else:
raise ValueError("Invalid device selected. Device {} not known.".format(settings["devices"][board]["configuration"]["TYPE"]))
# Cheeky lil fix in case the user sets an odd number of LEDs
if settings["devices"][board]["configuration"]["N_PIXELS"] % 2:
settings["devices"][board]["configuration"]["N_PIXELS"] -= 1

Ignore these

settings["configuration"]['_max_led_FPS'] = int(((settings["configuration"]["N_PIXELS"] * 30e-6) + 50e-6)**-1.0)

OPC problem

When I try to run main.py i get this error indicating I install opc

runfile('C:/Users/charlie/Desktop/Systematic-LEDs-masterFC/python/main.py', wdir='C:/Users/charlie/Desktop/Systematic-LEDs-masterFC/python')
C:\Users\charlie\Anaconda3\envs\fc3\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
Unable to import audioled.opc library
You can install this library with pip install opc
Traceback (most recent call last):

File "", line 1, in
runfile('C:/Users/charlie/Desktop/Systematic-LEDs-masterFC/python/main.py', wdir='C:/Users/charlie/Desktop/Systematic-LEDs-masterFC/python')

File "C:\Users\charlie\Anaconda3\envs\fc3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)

File "C:\Users\charlie\Anaconda3\envs\fc3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/charlie/Desktop/Systematic-LEDs-masterFC/python/main.py", line 1407, in
server=config.settings["devices"][board]["configuration"]["SERVER"])

File "C:\Users\charlie\Desktop\Systematic-LEDs-masterFC\python\lib\devices.py", line 162, in init
raise e

File "C:\Users\charlie\Desktop\Systematic-LEDs-masterFC\python\lib\devices.py", line 158, in init
import audioled.opc

ImportError: No module named 'audioled'

Only problem Is I already have OPC installed in the environment. I tried uninstalling it and reinstalling and it didn't work.

ESP8266 Wont accept code?

I keep getting some weird logs in my console. Can anyone tell me what it is? The output I'm getting at 74880 Baut is:

⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
18:15:43.754 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
18:15:43.754 ->
18:15:43.754 -> load 0x4010f000, len 1384, room 16
18:15:43.754 -> tail 8
18:15:43.754 -> chksum 0x2d
csum 0x2d
18:15:43.787 -> vbb28d4a3
18:15:43.787 -> ~ld
⸮�⸮⸮⸮⸮⸮Vi+U(⸮⸮J⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮

I am also getting some weird things when uploading to my module, there I'm getting this:

sketch\fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

Sketch uses 282480 bytes (27%) of program storage space. Maximum is 1044464 bytes.
Global variables use 30216 bytes (36%) of dynamic memory, leaving 51704 bytes for local variables. Maximum is 81920 bytes.
Uploading 286624 bytes from C:\Users\myname\AppData\Local\Temp\arduino_build_844614/ws2812_controller.ino.bin to flash at 0x00000000
................................................................................ [ 28% ]
................................................................................ [ 57% ]
................................................................................ [ 85% ]
........................................ [ 100% ]

"Missing 2 required positional arguments: 'green' and 'blue'"

I'm trying to use this program in my RaspberryPi.
The file devices.py was getting a error about the name neopixel that hasn't been defined, so I was able to "fix" it by adding:
import neopixel
after the line:
for i in range(n_pixels):

But now it is giving everytime this error when I do "sudo python3 main.py"

main.py:929: DeprecationWarning: The binary mode of fromstring is deprecated, as it behaves surprisingly on unicode inputs. Use frombuffer instead
y = np.fromstring(self.stream.read(self.frames_per_buffer, exception_on_overflow=False), dtype=np.int16)
Traceback (most recent call last):
File "main.py", line 2319, in
microphone.startStream()
File "main.py", line 931, in startStream
self.callback_func(y)
File "main.py", line 2237, in microphone_update
board_manager.boards[board].show(outputs[board])
File "/home/pi/Systematic-LEDs/python/lib/devices.py", line 370, in show
self.strip.setPixelColor(i, neopixel.Color(rgb))
TypeError: Color() missing 2 required positional arguments: 'green' and 'blue'

Error invalid syntax

File "E:/Aplikasi/Apps/esp8266/Systematic-LEDs-master/Systematic-LEDs-master/python/main.py", line 85
merged_general_config = {**config.default_general_config, **gen_config}
^
SyntaxError: invalid syntax

kenapa bisa terjadi ?

This is now broken on my strip. Christmas update worked fine.

Scroll and Energy crash the program when I click on them. All other visualization options dont look correct. Random pixels will change colors but it doesn't look anywhere close to where it was before. Is there any way I can give you more info to help debug?

Buffer overflow

I'm having a massive badly problem where all I get is a super massive buffer overflow every second.. The audio is coming in via my normal audio input on my Mac. There is no problem with audio-reactive-led-strip. Disabling the warning stops the UI from freezing and it seems to work perfectly fine.

screen shot 2018-04-03 at 1 10 24 am

Future of project?

Matt is back! I figured I would start up a discussion around the best way to evolve this. I have been (slowly) working on a pretty much complete rewrite on the base for this that is friendlier to develop in and more expandable. I should hopefully be able to share something soon, but there obviously a lot of missing functionality (like a UI, and only a few effects) currently. However, effects get boiled down to a few lines of human readable code.

Here are a few of the issues I currently think should be addressed hopefully soon rather than later:

  • Its nearly impossible to understand and read most of the code base. The shear amount of [][][][][] everywhere just makes the development experience terrible. I know most of this code was just inherited from the fork, but it could use a new foundation.
  • Some of the effects are just extremely over complicated (mostly due to the above issue) and there is just a lot of repeated code that could benefit from some solid base classes
  • Extending the current code to support different types of input, like video streams, would require a lot of refactor.
  • Threading model needs some work as it is very easy to get stuck flushing pixels causing buffer overflows
  • Code organization is also a problem as 95% of the code base is just in main.py
  • No infrastructure for things like requirements, pip installs, or testing making it more difficult for new users to get going. Should just be a simple pip install systematic-leds or setup.py script until things get more flushed out.
  • PyQt is great for desktop applications, but "headless" is really what most people seen ti want. Ideally you just have this running on some raspberry pi tucked behind whatever you use to play music with a direct audio line in. That means if you want remote control you need some REST or MQTT style interfaces for 3rd party software (i.e. HomeAssistant) to plug into. Additionally, there probably needs to be a web-based UI that can be used for setup and debugging. The server can just dumps the visualization graphs to websockets, and the client can handle the heavy lifting.

Overall, I see a lot of potential in this project and the effects produced are incredible, but I feel there are some drastic changes that are needed to get it on the right path. What are everyone's thoughts of this? How many people would be able and willing to contribute?

NodeMCU v3 pin number for FastLed

Hey guys,

I have a problem with the visualization.

I edited the config.py and the ws2812_controller.ino with matching infos (number of pixels, IP adress, etc.) and in the serial monitor of the arduino IDE i can see that the NodeMCU flawlessly connects to the network.

However, I can see no output on my LEDs and the first thing I did was checking the code over and over. I didn't find any differences. My second thought was that maybe I have the wrong pin number in ws2812_controller.ino file. I'm using the RX-pin as suggested but I'm not quite sure what to put in the ws2812_controller.ino file to get it to work.

Any help would be really appreciated!

And another problem I have is finding out the MAC address of my NodeMCUs. I want to connect multiple devices, but I don't know how to get more than one to do the visualization!

Greets

Unable to open Main.py

I get this error when trying to launch in anaconda enviroment. Followed the video, keep getting this error.
Could not find settings.ini
No user colours found
No user gradients found
Traceback (most recent call last):
File "C:\Users\kaspe\Documents\Python Scripts\Systematic-LEDs-master\python\main.py", line 2046, in
microphone = Microphone(microphone_update)
File "C:\Users\kaspe\Documents\Python Scripts\Systematic-LEDs-master\python\main.py", line 842, in init
device_info = py_audio.get_device_info_by_host_api_device_index(0,i)
File "C:\Users\kaspe\Anaconda3\lib\site-packages\pyaudio.py", line 852, in get_device_info_by_host_api_device_index
host_api_device_index)
OSError: [Errno -9996] Invalid device

cant add device

when i try to add a device i get this error "Device not found at physical address BC-DD-C2-08-AE-2C, retrying in 1s" How can i fix this?

Syntax errors in main.py

I want to execute the main.py script to use the visualization but i get the following error:

pi@raspberrypi:~/Systematic-LEDs/python $ sudo python main.py File "main.py", line 1110 for key, label, ui_element, *opts in visualizers[self.board].dynamic_effects_config[effect]: ^ SyntaxError: invalid syntax

what should i do about this?

Stripless Mode Error

When I try to test the program using the "Stripless" configuration, I get the error "UnboundLocalError: local variable 'audio_input' referenced before assignment." I think this occurs because a board is not configured, so the audio_input is not set. Thanks for your help!

some error message/ No user colours found No user gradients found

Hi Mat, long time i try this project then your Tutorial detail thanks. i am try your project all good to end but some error message (RGB) C:\Systematic-LEDs-master\python>python main.py

No user colours found No user gradients found

now what can i do now?
dear i am not professional, how can i easy way to solved it

Again thanks and i need u help)

Wemos D1 mini ESP12F

Hello i currently trying to get this work but without effects.

i flashed .ino file to my Wemos, checked if i can ping it but after running main.py, leds doesn't update.
Example code from FastLED library is working fine. Also adding code to test if i can turn on random led on strip doesn't work with provided code. How can i fix this?

EDIT: reading serial gives "Invalid packet size: 210 (expected213)"

EDIT 2: Changing NUM_LEDS from 71 to 70 fixed this problem.

Led Glitch

Hey, I've got a problem with my LED, it's glitching with the new update, here is a video of what it does:

https://youtu.be/HBP3mC13J1U

I needed to add this
#define FASTLED_ESP8266_RAW_PIN_ORDER
before
#include "FastLED.h"

I still have somes errors when uploading the firmware:

In file included from C:[LED]-Controler\arduino\ws2812_controller\ws2812_controller.ino:8:0:
F:\Users\gaetan\Documents\Arduino\libraries\FastLED-3.1.6/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.006
pragma message "FastLED version 3.001.006"
^

In file included from F:\Users\gaetan\Documents\Arduino\libraries\FastLED-3.1.6/FastLED.h:68:0,
from C:[LED]-Controler\arduino\ws2812_controller\ws2812_controller.ino:8:
F:\Users\gaetan\Documents\Arduino\libraries\FastLED-3.1.6/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
^

I've got an ESP8266 and a LED Strip of 300 LEDs and my FPS is at 60, i've tried 90 but no change, help please :)

By the way, thanks for updating this awesome project 👍

No user colours found, No user gradients found

Hi Mat, long, long time i try this project then your Tutorial very help full and detail thanks. i am try your project all good to end but some error message C:\Systematic-LEDs-master\python>python main.py {Enter}
error message.............................

No user colours found
No user gradients found)

Again thank You so much,

Error when flashing FW

Whenever i flash the FW onto my Lolin ESP8266 NodeMcu 1.0m the flash goes through but the ESP doesnt connect to the wifi and if i open the serial monitor the ESP just keeps printing "⸮". I have tried the audio-reactive-led-strip-master by scottlawsonbc and it works perfectly. I would really like to get this fork running due to all the extra functionality

ALSA Lib Error

Hiya,

I have followed your guide to install for the pi. I am getting this error when running?

ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

I have run the pyaudio check to see if the drivers are set up correctly but don't really understand the output. I have this:

[{
'defaultSampleRate': 44100.0,
 'defaultLowOutputLatency': -1.0, 
 'defaultLowInputLatency': 0.008684807256235827,
  'maxInputChannels': 1L,
   'structVersion': 2L, 
   'hostApi': 0L, 
   'index': 0, 
   'defaultHighOutputLatency': -1.0, 
   'maxOutputChannels': 0L, 
   'name': u'USB Audio Device: - (hw:1,0)', 
   'defaultHighInputLate ncy': 0.034829931972789115
}, 

{'defaultSampleRate': 48000.0, 
'defaultLowOutputLatency': -1.0, 
'defaultLowInputLatency': 0.021333333333333333, 
'maxInputChannels': 128L, 
'structVersion': 2L, 
'hostApi': 0L, 
'index': 1, 
'defaultHighOutputLatency': -1.0, 
'maxOutputChannels': 0L, 
'name': u'sysdefault', 
'defaultHighInputLatency': 0.021333333333333333
},
 {
 'defaultSampleRate': 44100.0, 
 'defaultLowOutputLatency': -1.0, 
 'defaultLowInputLatency': 0.008684807256235827,
 'maxInputChannels': 1L, 
 'structVersion': 2L, 
 'hostApi': 0L, 
 'index': 2, 
 'defaultHighOutputLatency': -1.0, 
 'maxOutputChannels': 0L, 
 'name': u'spdif', 
 'defaultHighInputLatency': 0.034829931972789115
 }, 
 {
 'defaultSampleRate': 44100.0, 
 'defaultLowOutputLatency': 0.008707482993197279, 
 'defaultLowInputLatency': 0 .008707482993197279, 
 'maxInputChannels': 32L, 
 'structVersion': 2L, 
 'hostApi': 0L, 
 'index': 3, 
 'defaultHighOutputLatency': 0.034829931972789115, 
 'maxOutputChannels': 32L, 
 'name': u'default', 
 'defaultHighInputLatency': 0.034829931972789115
 }]

Additional Information:

I am running a strip of 300 leds which go from white to orange the further you go along the strip as well as constant audio buffer overflows. (I am using a spottily client on the pi to output the sound (which I can here) . I then have a mic plugged in on the pi to input.

Any help would be fantastic!

Fresh clone error

(RGB) bash-3.2$ python main.py
File "main.py", line 80
merged_general_config = {**config.default_general_config, **gen_config}
^
SyntaxError: invalid syntax

(Using MAC)

Glitch on a single pixel

Hi !

First of all, I would like to thank you for your hard work : this project is amazing 👍

I have a strange issue with this new version. I have a set-up with esp and a strip of 150 pixels. One of them (the 50th) has an issue with the red color. However, I put the right number of pixels in the arduino and python code....

I first thought it was my LED strip but it is not since I can set all pixels red with a previous version of the code...

I don't have so many clues about the problem. I tried to modify the number of pixels : put 151 or 149 instead of 150 but it just changed the index of the pixel which has the problem and the color affected (blue / red).

Here are some pics about this :

img_20180303_005206

img_20180303_005156

img_20180303_010023

And a video showing the issue :) :
https://drive.google.com/file/d/18rCin0ziWvUkuNiqIwcvCkuaSHGt52iV/view?usp=sharing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.