<div dir="ltr">Hey all,<div><br></div><div>I suspect that this is an easier question than I&#39;m making it; I ran linux forever before law school, but never got too creative with it, so please forgive me if I&#39;m missing something obvious.</div><div><br></div><div>I am using a Beaglebone Black running Debian as the brains of a stereo setup. I am running squeezelite (a software player for the logitech media server), piping it into ecasound for equalization and crossover filters, and finally sox for dithered re-quantization so that everything can be sent out to a dinky USB soundcard. This is all I plan on having the Beaglebone do, at least for the time being. </div><div><div><br></div><div>I have a bash script that does all this, cobbled together from a really great guide at <a href="http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/">http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/</a> . With a couple anonymizing modifications, it looks something like this:</div><div><span id="docs-internal-guid-ac6b1fa7-6bdf-77e3-ae06-8552ede51cd9"><font face="arial, helvetica, sans-serif"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"><br></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">#!/bin/sh</span></p><span style="color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">/home/debian/squeezelite -o - -u vL -a ::32:0 -n Speakers -s 192.168.x.x | ecasound -q -z:mixmode,sum -x -a:pre -f:s32_le,2,44100 -i:stdin -pf:/home/debian/ecasound/pre.ecp -o:loop,1 -a:woofer,fullrange -i:loop,1 -a:woofer -pf:/home/debian/ecasound/woofer.ecp -chorder:1,2,0,0 -a:fullrange -pf:/home/debian/ecasound/fullrange.ecp -chorder:0,0,1,2 -a:woofer,fullrange -f:f32_le,4,44100 -o:stdout | sox -q -c 4 -r 44100 -b 32 -e float -L -t raw - -e signed -c 4 -b 16 -t alsa surround40:Device dither -s</span></font></span></div><div><br></div><div>This works. ./squeezelite.sh runs and is off to the races, makes pretty noises, etc.</div><div><br></div><div>The problem is daemonizing it and having it run at startup. Something tells me this is due to failure to understand scripting generally and pipes specifically. For now, I have to start a putty session and run the script myself. I have yet to find a good way to get it going automatically.</div><div><br></div><div>I have tried to modify the init.d script given here without luck (most recently by just shoving my pipes in as squeezelite arguments):<br><a href="http://www.computeraudiophile.com/blogs/k-man/configuring-beaglebone-black-run-squeezelite-452/">http://www.computeraudiophile.com/blogs/k-man/configuring-beaglebone-black-run-squeezelite-452/</a><br></div><div><br></div><div>I have also tried a few named pipe experiments, all of which work in a putty session, but none of which behave without me initiating them.</div><div><br></div><div>If possible, I&#39;d like to do it all with a small change to the linked script, rather than going off on my own. Anyone have thoughts on what that modification might look like, or (more likely) what question I OUGHT to be asking?</div><div><br></div><div>Thanks, and hope to see some of you all this Sunday.</div><div><br></div><div>Best regards,</div><div>Ian</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">R. Ian Forrest<br>(404) 236-9436<div><span style="font-family:arial,sans-serif;border-collapse:collapse">J.D. 2013, University of Kentucky College of Law<br></span></div></div></div>
</div></div>