Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use sound from the grabber ? #9

Closed
hallard opened this issue Jun 22, 2015 · 23 comments
Closed

Use sound from the grabber ? #9

hallard opened this issue Jun 22, 2015 · 23 comments

Comments

@hallard
Copy link

hallard commented Jun 22, 2015

Very nice effect ;-)
I'm using hyperion with a grabber so I can have hyperion working with all my sources from my avr (sat, bray, box ,,) and my sound system is a sonos connected to my avr also.

So how can I setup to get the sound from the capture board instead of the loopback alsa ? (like I do for the video in fact) ?

Thank you for your help

@RanzQ
Copy link
Owner

RanzQ commented Jun 24, 2015

With pulseaudio you can just select the source like here: #4 (comment)

But if you want to use alsa like I prefer to, you can modify the .asoundrc to select your default recording device. If it's the same as your playback device, your file could be as simple as this (check the correct card index with aplay -l):

pcm.!default {
    type hw
    card 0
}

If you have multiple audio devices and use different device for recording and playback, the it's a bit trickier to setup.

For the gstreamer I have used autoaudiosrc so it should detect if you're using pulseaudio or alsa and select your default recording device.

@hallard
Copy link
Author

hallard commented Jun 24, 2015

RanzQ
Thank you for your answer. Sorry I'm totally newbie in sound in command line under linux.
I've just sshed on my PI and done

root@ambilight(rw):~/hyperion-audio-effects# aplay -l
**** List of PLAYBACK Hardware Devices ****
root@ambilight(rw):~/hyperion-audio-effects# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: usbtv [usbtv], device 0: USBTV Audio [USBTV Audio Input]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@ambilight(rw):~/hyperion-audio-effects#

wich shows that I do not have any playing device. That makes senses since Pi is not connected to any monitor or audio, it's just driving the Video Grabber (input) to show LED with hyperion.

So I understand I need a sound loopback in case of Pi playing audio to output and then get this audio back to analyse it to drive hyperion LED. So, just curious, I my case, do I need to use snd-aloop since the audio is captured by the grabber ?

So I've done modprobe snd-aloop and now the results are

root@ambilight(rw):~/hyperion-audio-effects# aplay -l
**** List of PLAYBACK Hardware Devices ***
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7 
root@ambilight(rw):~/hyperion-audio-effects# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: usbtv [usbtv], device 0: USBTV Audio [USBTV Audio Input]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7

seems all is now fine in term of device. so I updated /root/.asoundrc as you suggested (so setting the capture card)

pcm.!default {
type hw
card 0
}

and I launched

root@ambilight(rw):~/hyperion-audio-effects#  python main.py --config=/etc/hyperion.config.json --json --host=localhost --port=19444
Exit by typing 'x' or 'exit'
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]
[109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85]
(0, 255, 0)
(255, 0, 0)
[(0, 255, 0), (10, 244, 0), (20, 234, 0), (30, 224, 0), (40, 214, 0), (51, 204, 0), (61, 193, 0), (71, 183, 0), (81, 173, 0), (91, 163, 0), (102, 153, 0), (112, 142, 0), (122, 132, 0), (132, 122, 0), (142, 112, 0), (153, 102, 0), (163, 91, 0), (173, 81, 0), (183, 71, 0), (193, 61, 0), (204, 51, 0), (214, 40, 0), (224, 30, 0), (234, 20, 0), (244, 10, 0)]

No led light and nothing more is displayed by main.py (just the above numbers) . What is strange is that when I run alsamixer I see my device but it says This sound device does not have any controls and I can't test capture to see levels in alsamixer. Is there a way/tool to raw display input values from audio capture entry ?

Of course, connected my Sonos RCA output to grabber audio input and played music ;-)

Any idea ?

Thank you very much for your help

@RanzQ
Copy link
Owner

RanzQ commented Jun 24, 2015

Actually I haven't driven this audio analyzer on my Pi, I think it will be too heavy... On my HTPC it runs fine by connecting to the local hyperion. For my Pi setup I use external PC to play music and run this software. Then it just connects to Pi via network.

Anyway, the levels might be too low. If you can't change the volume with alsamixer, you can adjust the input level range with config here:

https://github.com/RanzQ/hyperion-audio-effects/blob/master/effects/vumeter.json#L8

And set quiet=False at this line to print the levels from Gstreamer to console:

https://github.com/RanzQ/hyperion-audio-effects/blob/master/effects/vumeter.py#L155

The default VU meter effect isn't that heavy, but with --effect color_spectrum it takes a quite a lot CPU.

EDIT: Try also to set the default control device:

ctl.!default {
type hw
card 0
}

@hallard
Copy link
Author

hallard commented Jun 24, 2015

Wohh, fast support 👍

Ok now I plugged the Sonos RCA output into the grabber and not into the HDMI2AV I've got better results, stupid am I, I took the 1st RCA I've seen (the grabber was behind my AVR)
So now input signal is fine and vary as I change my Sonos level :-) (for information If I do not load the snd-aloop module, capture with arecord finish to crash and reboot my Pi)

root@ambilight(rw):~# arecord -D hw:0,0 -c 2 -f S16_LE -r 48000 /homes/root/test.wav -vvv
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Hardware PCM card 0 'usbtv' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 3379
  period_time  : 70395
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 3379
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
Max peak (6758 samples): 0x00007fff #################### 99%
Max peak (6758 samples): 0x00007e78 #################### 98%
Max peak (6758 samples): 0x00007fc8 #################### 99%
Max peak (6758 samples): 0x00007f98 #################### 99%
Max peak (6758 samples): 0x00007fa4 #################### 99%
Max peak (6758 samples): 0x00007b2c #################### 96%
Max peak (6758 samples): 0x00007f18 #################### 99%
Max peak (6758 samples): 0x00007f24 #################### 99%
Max peak (6758 samples): 0x0000616c ################     76%
Max peak (6758 samples): 0x00007708 ###################  92%
Max peak (6758 samples): 0x0000660c ################     79%
Max peak (6758 samples): 0x00007808 ###################  93%
Max peak (6758 samples): 0x00007d08 #################### 97%
Max peak (6758 samples): 0x00006398 ################     77%
Max peak (6758 samples): 0x00006e2c ##################   86%
Max peak (6758 samples): 0x00007e74 #################### 98%
Max peak (6758 samples): 0x00007f5c #################### 99%
Max peak (6758 samples): 0x0000538c ##############       65%
Max peak (6758 samples): 0x00007fd0 #################### 99%
Max peak (6758 samples): 0x00007fd0 #################### 99%
Max peak (6758 samples): 0x00006e74 ##################   86%
Max peak (6758 samples): 0x00007d0c #################### 97%
Max peak (6758 samples): 0x00007f38 #################### 99%
Max peak (6758 samples): 0x00007ed4 #################### 99%
Max peak (6758 samples): 0x000046b0 ############         55%
Max peak (6758 samples): 0x00007f80 #################### 99%
Max peak (6758 samples): 0x00007484 ###################  91%
Max peak (6758 samples): 0x0000596c ##############       69%
Max peak (6758 samples): 0x00006014 ################     75%
^CAborted by signal Interrupt...
root@ambilight(rw):~#

Then I start effect

root@ambilight(rw):~/hyperion-audio-effects# python main.py --config=/etc/hyperion.config.json --json --host=192.168.1.26 --port=19444 --effect vumeter
Exit by typing 'x' or 'exit'
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]
[109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85]
(0, 255, 0)
(255, 0, 0)
[(0, 255, 0), (10, 244, 0), (20, 234, 0), (30, 224, 0), (40, 214, 0), (51, 204, 0), (61, 193, 0), (71, 183, 0), (81, 173, 0), (91, 163, 0), (102, 153, 0), (112, 142, 0), (122, 132, 0), (132, 122, 0), (142, 112, 0), (153, 102, 0), (163, 91, 0), (173, 81, 0), (183, 71, 0), (193, 61, 0), (204, 51, 0), (214, 40, 0), (224, 30, 0), (234, 20, 0), (244, 10, 0)]
x
Exiting
root@ambilight(rw):~/hyperion-audio-effects#

it grab some data and light the vu-meter on left/right of my TV ;-), but just once, I left the effect running and the only data I grabbed is the few lines above, after all is static and nothing move. It's like when grabbed one set of data, it was stopping and doing nothing. If I stop and I launch back arecord, arecord works fine so input entry still receiving signal. I tried both in .asoundrc, with and without

ctl.!default {
type hw
card 0
}

I'm pretty sure to be so close that it's generating some frustration ;-) .
May be it's a gstreamer issue, how do you look into gstreamer console ?

@RanzQ
Copy link
Owner

RanzQ commented Jun 24, 2015

You removed everything else from the .asoundrc, right? Cause the stuff I have there is for the loopback device.

You can try to force the device by changing the source='autoaudiosrc' to source='alsasrc device=hw:0,0' in vumeter.py.

And also try if Gstreamer messages work at all (my python code actually uses them internally) with this command:

gst-launch-1.0 autoaudiosrc ! level message=true interval=1000000000 ! fakesink --messages

Or with forced device:

gst-launch-1.0 alsasrc device=hw:0,0 ! level message=true interval=1000000000 ! fakesink --messages

It should output a message once per second. I got messages like these when playing music, I think the NULL values are caused by some legacy code, with python I get numeric values correctly:

Got message #52 from element "level0" (element): level, endtime=(guint64)3000000000, timestamp=(guint64)2000000000, stream-time=(guint64)2000000000, running-time=(guint64)2000000000, duration=(guint64)1000000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL, decay=(GValueArray)NULL;

@hallard
Copy link
Author

hallard commented Jun 24, 2015

yeah I removed everything else as you suggested.

gstreamer works fine, got message every seconds with like you "null" bug value

So I put a debug line into vumeter.py to see if values are correct, seems good also, check this out I display magnitude just before update_led

root@ambilight(rw):~/hyperion-audio-effects# python main.py --config=/etc/hyperion.config.json --effect vumeter
Exit by typing 'x' or 'exit'
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]
[109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88,     87, 86, 85]
(0, 255, 0)
(255, 0, 0)
[(0, 255, 0), (10, 244, 0), (20, 234, 0), (30, 224, 0), (40, 214, 0), (51, 204, 0), (61, 193, 0), (71, 183, 0), (81, 173, 0), (91, 163, 0), (102, 153, 0), (112, 142, 0), (122, 132, 0), (132, 122, 0), (142, 112, 0), (153, 102, 0), (163, 91, 0), (173, 81, 0), (183, 71, 0), (193, 61, 0), (204, 51, 0), (214, 40, 0), (224, 30, 0), (234, 20, 0), (244, 10, 0)]
Peak=0.000000 Decay=0.000000
Peak=100.000000 Decay=100.000000
Peak=0.000000 Decay=0.000000
Peak=100.000000 Decay=100.000000
[100.0, 100.0, 100.0, 100.0]
Peak=-7.134514 Decay=0.000000
Peak=89.807838 Decay=100.000000
Peak=-2.991754 Decay=0.000000
Peak=95.726065 Decay=100.000000
[89.80783767116608, 100.0, 95.72606515550963, 100.0]
Peak=-3.263804 Decay=0.000000
Peak=95.337422 Decay=100.000000
Peak=-2.723614 Decay=0.000000
Peak=96.109123 Decay=100.000000
[95.33742240564077, 100.0, 96.10912327182655, 100.0]
Peak=-3.634412 Decay=0.000000
Peak=94.807983 Decay=100.000000
Peak=-3.989592 Decay=0.000000
Peak=94.300583 Decay=100.000000
[94.80798251991087, 100.0, 94.30058315706285, 100.0]
Peak=-4.112990 Decay=-0.032292
Peak=94.124300 Decay=99.953869
Peak=-4.807381 Decay=-0.032292
Peak=93.132313 Decay=99.953869
[94.12430030405758, 99.95386903571429, 93.13231324277544, 99.95386903571429]
Peak=-4.372186 Decay=-0.510417
Peak=93.754020 Decay=99.270833
Peak=-6.103699 Decay=-0.510417
Peak=91.280430 Decay=99.270833
[93.75401978229446, 99.27083332142857, 91.28043040207345, 99.27083332142857]
Peak=-5.780094 Decay=-1.026563
Peak=91.742723 Decay=98.533482
Peak=-12.015790 Decay=-1.026563
Peak=82.834586 Decay=98.533482
[91.74272279395741, 98.53348212857142, 82.83458558941439, 98.53348212857142]
Peak=-7.800675 Decay=-1.292708
Peak=88.856179 Decay=98.153274
Peak=-19.447514 Decay=-1.292708
Peak=72.217837 Decay=98.153274
[88.85617894351535, 98.15327379285715, 72.21783714496611, 98.15327379285715]
Peak=-19.378145 Decay=-1.596875
Peak=72.316935 Decay=97.718750
Peak=-3.089561 Decay=-1.596875
Peak=95.586341 Decay=97.718750
[72.31693510052608, 97.71874997857144, 95.58634139332051, 97.71874997857144]
Peak=-1.306481 Decay=-1.306481
Peak=98.133599 Decay=98.133599
Peak=-5.105662 Decay=-1.939063
Peak=92.706197 Decay=97.229911

So from "reading sound" view, all seems to be fine. May be a transfer problem to hyperion because when now I add the parameters --json --host 127.0.0.1 --port 19444 I can see the correct values moving as previous, but the LED start to light the 1st time, then stops and look freeze
amazing, I'll continue to try, this makes me crazy !!!
anyway really thanks for your precious help
cheers

@hallard
Copy link
Author

hallard commented Jun 24, 2015

Oh, forgot to mention, by the way parameter autoaudiosrc works fine for audio capturing.

@RanzQ
Copy link
Owner

RanzQ commented Jun 24, 2015

What is your LED type? Lightberry kit is WS2811 and the HD version is WS2812B if I remember correctly. I think there might be some problems when using sound and LEDs at the same time, check this for example: https://github.com/tvdzwan/hyperion/issues/194

Also, the levels you get seem to be quite high, so it would be better if you could lower the input signal with alsamixer or from your AVR. The reason I had the levels in config from 90 to 100 is that the led bar is shown on that range. Decay is the bar height and peak is the single led that stays up a bit longer, maybe this video from the debugging GUI helps a bit :

https://www.youtube.com/watch?v=2Htkz8nhu-E

@hallard
Copy link
Author

hallard commented Jun 24, 2015

Good catch, I've got home made kit :

  • PI B+ (512MB)
  • Led Strip LPD8806
  • HDMI2AV
  • USB easycap grabber (usvtb)

Yeah I lowered signal on Sonos app, to be sure not "full scale", the number decrease but LED still blocked.

Everything is fine, each video signal from my AVR is "ambilighted", now I'm trying music ;-)

I've just tried with spectrum effect, in fact it works better the only drawback is about 1 refresh per second but you warned me about this. I will try disabling the video grabber to test but I just looked behind my avr, I'm stuck, amazing I do not have any line out, just one for Zone2 and does not output when input is digital, my goodness new technologies sometimes forget basic things, such as video and audio analog out !!!!
Unfortunately I do not have any GUI but I'm pretty sure the problem does not come from your python program.
I'll do more test later...

@tociek
Copy link

tociek commented Jun 24, 2015

Lightberry uses ws2801 in all versions :)

@RanzQ
Copy link
Owner

RanzQ commented Jun 25, 2015

Ok, I forgot that version. :)

@giovanne123
Copy link

@RanzQ,
does this mean your audio effects doesn't work with ws2801 strips?

Tried to set it up.
Changed the vumeter.py
=> ...spectrum = GstSpectrumDump(source=hyperion.args.get('audiosrc','alsasrc device=hw:0,0'),...
=> and a "print self.magnitudes"

Started: python main.py --effect vumeter --config /etc/hyperion.config.json --idx --json --host 127.0.0.1 --port 19444

and get:
python main.py --effect vumeter --config /etc/hyperion.config.json --idx --json --host 127.0.0.1 --port 19444
Exit by typing 'x' or 'exit'
[8, 9, 10, 11, 12, 13, 14, 15, 16]
[41, 40, 39, 38, 37, 36, 35, 34, 33](0, 255, 0)
(255, 0, 0)
[(0, 255, 0), (28, 226, 0), (56, 198, 0), (85, 170, 0), (113, 141, 0), (141, 113, 0), (170, 85, 0), (198, 56, 0), (226, 28, 0)]
[75.47445479706816, 75.47445479706816, 75.47445479706816, 75.47445479706816]
[69.23573136974338, 75.47445479706816, 73.42243224017308, 75.47445479706816]
[70.32932945142312, 75.47445479706816, 73.42243224017308, 75.47445479706816]
[72.66795971020838, 75.47445479706816, 73.42243224017308, 75.47445479706816]
[75.89894507091056, 75.89894507091056, 75.89894507091056, 75.89894507091056]
[80.35347122065956, 80.35347122065956, 80.35347122065956, 80.35347122065956]
[75.43887312958671, 80.35347122065956, 75.43887312958671, 80.35347122065956]
[73.3869104068171, 80.35347122065956, 73.42243224017308, 80.35347122065956]
[73.76903186589458, 80.35347122065956, 73.76903186589458, 80.35347122065956]
[73.20119613935735, 80.35347122065956, 73.42243224017308, 80.35347122065956]
[75.53443845659748, 80.03439118494526, 75.53443845659748, 80.03439118494526]
[73.24379736408778, 79.54767268494527, 73.42243224017308, 79.54767268494527]
[75.82742663794471, 79.11359428494526, 75.82742663794471, 79.11359428494526]
[73.98353815979765, 78.73215599208812, 73.98353815979765, 78.73215599208812]
[71.03305678454603, 78.25110642065955, 73.42243224017308, 78.25110642065955]
[77.30102311982918, 77.82269695637383, 77.30102311982918, 77.82269695637383]
[76.16805060026994, 77.44692759923097, 76.16805060026994, 77.44692759923097]
[71.38380716146784, 76.97154696351669, 73.42243224017308, 76.97154696351669]
...

Can also see that the levels go up down depending on the loudness of the music or if I change the gain in alsamixer.

Should this be fine and I can't see something going to the LEDs because of ws2801?
Or otherwise, how to go on debugging?

@RanzQ
Copy link
Owner

RanzQ commented Jan 27, 2016

@giovanne123 That looks like your sound setup is fine. First you can try without the json connection:

python main.py --effect vumeter --config /etc/hyperion.config.json --gui

Are you on a Pi? On that the gui might be too heavy. And does your hyperion setup work, have you tried some effects with it?

The --idx just prints the led indexes for debug, so your volume bars would be leds 8-16 and 33-41.

@giovanne123
Copy link

@RanzQ ,
thanks.
Tried also with "python main.py --effect vumeter --config /etc/hyperion.config.json --gui", but also no color on the gui. All leds/gui black.

Yes, on a Pi. Will try to test if it is running there ;-)

The hyperion setup on the same Pi with the config (/etc/hyperion.config.json) is working fine. Using the hyperion app for example.

For the --idx / defined leds I have to look where this is defined...

@RanzQ
Copy link
Owner

RanzQ commented Jan 27, 2016

@giovanne123 it reads you led setup from the hyperion config. And actually I remembered wrong, --idx is for showing the led indexes on the gui.

So you run this python main.py on Pi too?

Because if you run this remotely, then you have to copy your config .json from your Pi and check its local IP. Then use that ip on --host.

To make clear, this python script doesn't run hyperion, it just controls it. :)

@giovanne123
Copy link

@RanzQ ,
yes everything on the Pi (therefore IP 127.0.0.1). And is clear. My hyperion is already running and can be controlled already controlled e.g. vi remote app/json.

Now additionally your python should control it locally.

But there was a little mistake in my hyperion.config.json
Before defined 50 leds, but I only have 31 and now only 31 defined.

But now I get an index out of bounce !!?? :
python main.py --effect vumeter --config /etc/hyperion.config.json --json --host 127.0.0.1 --port 19444 --gui
[8, 9, 10, 11, 12, 13, 14, 15, 16]
[2, 22](0, 255, 0)
(255, 0, 0)
[(0, 255, 0), (28, 226, 0), (56, 198, 0), (85, 170, 0), (113, 141, 0), (141, 113, 0), (170, 85, 0), (198, 56, 0), (226, 28, 0)]
[75.95691610498199, 75.95691610498199, 75.95691610498199, 75.95691610498199]
Traceback (most recent call last):
File "/home/pi/hyperion-audio-effects/effects/spectrum_dump.py", line 308, in on_message
self.callback(magnitudes)
File "/home/pi/hyperion-audio-effects/effects/vumeter.py", line 89, in receive_magnitudes
self.update_leds()
File "/home/pi/hyperion-audio-effects/effects/vumeter.py", line 137, in update_leds
right_i = self.leds_right[i]
IndexError: list index out of range

@giovanne123
Copy link

Ok, seems to be vumeter related.

starting with effect color_spectrum works for both the gui and the ws2801 led strip ;-)

Think have to look in detail how your python should work...

@RanzQ
Copy link
Owner

RanzQ commented Jan 27, 2016

@giovanne123 If you know which is your first led, you can also set them manually in effects/vumeter.json:

"left-start": 0,
"left-end": 10,
"right-start": 30,
"right-end": 20,

That would set the bars like 10 leds from both ends of your strip. I try to read left and right side from the hyperion config but it's not so simple format and I might have bugs there. :)

@giovanne123
Copy link

@RanzQ ,
I think index out of bounce was because of 31, with 32 is starting.

I have done this in vumeter.json also and can see the led numbers in output, but no led is lighting.
Not in the gui and also not over to hyperion/leds/ws2801 :-(

python main.py --effect vumeter --config /etc/hyperion.config.json --json --host 127.0.0.1 --port 19444 --gui
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20](0, 255, 0)
(255, 0, 0)
[(0, 255, 0), (23, 231, 0), (46, 208, 0), (69, 185, 0), (92, 162, 0), (115, 139, 0), (139, 115, 0), (162, 92, 0), (185, 69, 0), (208, 46, 0), (231, 23, 0)]
[63.772352163352465, 63.772352163352465, 63.772352163352465, 63.772352163352465]
[61.48192570824166, 63.772352163352465, 61.48192570824166, 63.772352163352465]
[62.900207782896544, 63.772352163352465, 62.900207782896544, 63.772352163352465]
[66.89544358262852, 66.89544358262852, 73.42243224017308, 73.42243224017308]
[65.87219263951731, 66.89544358262852, 73.42243224017308, 73.42243224017308]

With color_spectrum effect it is working but not very smooth at the moment. Can I control smoothness?

@RanzQ
Copy link
Owner

RanzQ commented Jan 27, 2016

@giovanne123 also set the levels in vumeter.json, for example:

        "level-min": 50,
        "level-max": 80,

Sorry I have adjusted them to my own preference. It depends on your volume in alsamixer what looks good. :)

@RanzQ
Copy link
Owner

RanzQ commented Jan 27, 2016

Smoothness cannot be adjusted. Pi isn't just powerful enough to process the audio fast like this.

@giovanne123
Copy link

@RanzQ ,
I was on the same way already. It is working. The "level-min": was set to 90 ;-)

I will have a look to the other config params etc.

But now everything for my first tests is working:
-> your audio effect python -> hyperion -> ola -> art-net-node (ESP8266-01) ;-)

Thanks a lot!!!

@RanzQ
Copy link
Owner

RanzQ commented Jan 27, 2016

Cool. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants