PDA

View Full Version : Scroll Bot player



odw199
2018-08-07, 05:36
I'm looking to build a new player for a child's bedroom and I found the raspberry pi zero W based scroll bot:

https://shop.pimoroni.com/products/scroll-bot-pi-zero-w-project-kit

Pairing this up with a small powered speaker looks ideal for my needs. I was hoping the LED display could be used to "speak" the audio as it will mostly be used to play audio books. Unfortunately, I have little to no experience with audio programming so thought I'd post my idea here to see if it seemed viable.

My plan is to use squeezelite as the player. And output the audio to the ALSA loop back device. Then use JACK to read the audio output, calculate the fft to produce a spectrum analysis to output to the LED display and then pass through the audio untouched to the main ALSA output (will be via HDMI out).

The LED display looks to require python to access it, and python looks to have JACK libraries so I think the theory is sound.

It would be ideal if I could use piCorePlayer but I think the additional requirements (python, JACK etc) means it's going to be simpler to run a full raspbian image.

bpa
2018-08-07, 06:29
Your thread title really does not help with what you are trying to do and it is not clear how much detailed research you have done (e.g. have you looked at squeezelite source code)

By "speak" I presume some form of Spectrum analyser display.

There are a number of Jivelite displays using audio outrput from squeezlite under names as VU meter and Spectru analyser. This would simplify your system.

IIRC Squeezelite can already export audio samples (ready for fft) to shared memory for such display - the build option is OPT_VIS and probably looking at squeezelite source code will probably help understand what is being output see
https://github.com/ralph-irving/squeezelite/blob/master/output_vis.c

I suspect you should look at other apps already using this data.

odw199
2018-08-07, 07:45
Thanks bpa; the -v output of squeezelite looks to simply matters

ralphy
2018-08-09, 04:53
There are 2 examples of consuming the shared memory output from squeezelite -v in the visualizer jivelite sources (https://github.com/ralph-irving/jivelite/tree/master/src/visualizer).

odw199
2018-08-15, 02:22
Thanks for the pointers. Prototype done, just needs some code and cable tidy up...


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