ahodges9 / LedFx

LedFx is a network based LED effect controller with support for advanced real-time audio effects! LedFx can control multiple devices and works great with cheap ESP8266 nodes allowing for cost effectvice syncronized effects across your entire house!
MIT License
384 stars 91 forks source link

Having a few issues with LedFX #136

Open rclough opened 3 years ago

rclough commented 3 years ago

Hi there, I've been testing out LED FX and have run into a few issues so far that have made my experience pretty unimpressive

I'm on a Mac using Chrome, if that matters. ledfx 0.7

  1. The lack of any notion of range for any of the settings is really confusing. The default brightness value is 1, does that mean it's 0-1? The default blur setting is empty, what range is allowed? If the value ranges are consistent, why aren't there sliders?
  2. The form error checking prevents me from typing any values between 0 and 1. I've noticed some settings do have values between 0 and 1, but when I try to type in another setting, the form doesn't enter anything for "0" and then when I type "." it goes NaN. This can be worked around by pasting in a value, but this is not a good experience obviously
  3. I think there's something wrong with thee way the audio is processing my mic. I'm a bit confused because I thought this had a non-web version of the app, but there are some caveats when using mics from a browser. Basically my mic only seems to be picking up bass, and not a lot of it. This means that 90% of the time the reactive effects are lighting upu the first 10% of my strip only, even when playing music loud. I'm going to make an assumption that you're using the webkit audio API. Having tinkered with it a bit myself, I'm wondering if maybe you need to disable echoCancellation and noiseSuppression otherwise the music is low-passed. It's not really well documented but here's a stack overflow post with (some info)[https://stackoverflow.com/questions/29936416/webrtc-disable-all-audio-processing]
  4. Lastly I noticed in my STDERR after playing around that there's a consistent AttributeError: Couldn't find 'wavelength' in the effect registry that gets logged, presumably when I tried to load that effect.
rclough commented 3 years ago

oh also, ledfx initially completely failed to start when I first ran it with the following error:

$ ledfx
Loading configuration file from /Users/rclough/.ledfx
Traceback (most recent call last):
  File "/Users/rclough/.pyenv/versions/ledfx/bin/ledfx", line 8, in <module>
    sys.exit(main())
  File "/Users/rclough/.pyenv/versions/3.6.9/envs/ledfx/lib/python3.6/site-packages/ledfx/__main__.py", line 88, in main
    ledfx = LedFxCore(config_dir = args.config)
  File "/Users/rclough/.pyenv/versions/3.6.9/envs/ledfx/lib/python3.6/site-packages/ledfx/core.py", line 39, in __init__
    port=self.config.get('port', None))
  File "/Users/rclough/.pyenv/versions/3.6.9/envs/ledfx/lib/python3.6/site-packages/ledfx/http.py", line 26, in __init__
    host = socket.gethostbyname(socket.gethostname())
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

I went and tested some of the code by hand. socket.gethostname() returns my username for my macbook, which maybe my organization sets as my hostname? but in any case, it was not able to resolve this name because it is not an actual host name. I had to add it to my /private/etc/hosts file pointing to 127.0.0.1 to get it to work, not super obvious.

I'd suggest just defaulting to 127.0.0.1 since that's pretty standard, not sure if there's a more canonical way of achieving that this code is trying to do, but I've run a lot of software on this laptop and never run into that issue before.

datadrian commented 3 years ago

I don't know much about anything, but the web interface is just that, an interface, no audio is processed through the browser. Try listening to the input you have plugged in, likely you don't have the correct cable and the input isn't getting the full spectrum of sound. Can you record the music you are playing and play it back?

Also remember this is open source software provided at no charge made by people for no monetary gain. yeah its rough around the edges, but in my opinion its pretty fucking rad.

Adrian Stucker 513.341.LENS

On Mon, Sep 28, 2020 at 6:59 PM Ryan C notifications@github.com wrote:

oh also, ledfx initially completely failed to start when I first ran it with the following error:

$ ledfx Loading configuration file from /Users/rclough/.ledfx Traceback (most recent call last): File "/Users/rclough/.pyenv/versions/ledfx/bin/ledfx", line 8, in sys.exit(main()) File "/Users/rclough/.pyenv/versions/3.6.9/envs/ledfx/lib/python3.6/site-packages/ledfx/main.py", line 88, in main ledfx = LedFxCore(config_dir = args.config) File "/Users/rclough/.pyenv/versions/3.6.9/envs/ledfx/lib/python3.6/site-packages/ledfx/core.py", line 39, in init port=self.config.get('port', None)) File "/Users/rclough/.pyenv/versions/3.6.9/envs/ledfx/lib/python3.6/site-packages/ledfx/http.py", line 26, in init host = socket.gethostbyname(socket.gethostname()) socket.gaierror: [Errno 8] nodename nor servname provided, or not known

I went and tested some of the code by hand. socket.gethostname() returns my username for my macbook, which maybe my organization sets as my hostname? but in any case, it was not able to resolve this name because it is not an actual host name. I had to add it to my /private/etc/hosts file pointing to 127.0.0.1 to get it to work, not super obvious.

I'd suggest just defaulting to 127.0.0.1 since that's pretty standard, not sure if there's a more canonical way of achieving that this code is trying to do, but I've run a lot of software on this laptop and never run into that issue before.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ahodges9/LedFx/issues/136#issuecomment-700378819, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJFUGINLD2YF5ECFFRVBLDTSIE5QJANCNFSM4R5F7WHA .

rclough commented 3 years ago

Ah, I made the assumption that since it was a web interface that it would be using WebRTC, but makes sense that it's pulling the inputs directly from the system. No idea then why then the audio input is poor - it's a pretty standard macbook mic, which should have a decent spectrum of sound

And yes, I know, I work on open source as well, bugss do need to be reported, I'm trying to be constructive

datadrian commented 3 years ago

No mater what having the macbook mic capturing sounds you'll never get good results. It really needs a direct line in, or if you are playing music off the computer, use a virtual line in. I'm on pc but I'm sure there's a solution for mac.

Adrian Stucker 513.341.LENS

On Mon, Sep 28, 2020, 7:26 PM Ryan C notifications@github.com wrote:

Ah, I made the assumption that since it was a web interface that it would be using WebRTC, but makes sense that it's pulling the inputs directly from the system. No idea then why then the audio input is poor - it's a pretty standard macbook mic, which should have a decent spectrum of sound

And yes, I know, I work on open source as well, bugss do need to be reported, I'm trying to be constructive

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ahodges9/LedFx/issues/136#issuecomment-700387712, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJFUGIJJML2BD2GS6OECND3SIFAW7ANCNFSM4R5F7WHA .

Mattallmighty commented 3 years ago

Hey guys,

We have done quite a bit of development and documentation work. Have a look at the readme on: https://github.com/ahodges9/LedFx/tree/dev & https://ledfx.readthedocs.io/en/docs/index.html

Your welcome to join the LedFx community on Discord and we can help you out from there: https://discord.com/invite/wJ755dY Have a discord chat with THATDONFC, as he is our mac dev expert.