Re: [ecasound] Ecasound volume/EQ control
Brought to you by:
kaiv
From: Joel R. <jo...@po...> - 2018-04-20 07:24:16
|
On Thu, Apr 19, 2018, Sjoerd Venema wrote: > Hi All, > > I am using Ecasound on a Raspberry Pi, which functions as a music player in > my car and in a boombox. > It has quite a variety of audio sources, which are all outputting into a > Jack daemon. > I’ve setup Ecasound to receive input from that Jack daemon, add an active > filter, to spit out two mono signals, one for the sub and one for the > woofer, and output to Alsa for playback on the speakers. This is the > command I use: > ecasound --server -z:nodb -z:mixmode,sum -a:pre -f:s32_le,2,44100 -i:jack > -pf:/etc/pre.ecp -o:loop,1 -a:woofer,tweeter -i:loop,1 -a:woofer > -pf:/etc/woofer.ecp -chorder:1,0 -a:tweeter -pf:/etc/tweeter.ecp > -chorder:0,2 -a:woofer,tweeter -f:16,4,44100 -o:alsa > > So far, so good. Hi Sjoerd, Nice to hear about your project with RPi and ecasound! Usually the JACK audio daemon, when running, grabs the audio device, so that the output part of your setup would be -o:jack,system > Unfortunately, my Alsa output, a DAC, doesn’t have a volume control > interface. Could (should?) I (ab)use Ecasound as a volume controller and as > “simple consumer”-style equaliser? The alsamixer does provide a volume control for ALSA devices. > Or is Ecasound not intended for these things? And if so, would I need a > (LADSPA?) plugin for this? If so, suggestions welcome ;-) Ecasound is intended exactly for this purpose, and can host LADSPA plugins to serve as an equalizer. > (Jack doesn't have volume controls (the available plugins are all GUI, not > suitable for my CLI-based Pi)). > > I have Pyecasound running, so ideally I’d control the EQ and Vol using the > ECI commands using Python. > > In regards to volume control, I’ve found this message by Luke ( > http://nosignal.fi/ecasound-list/2007/09/0004.html). In a reply Kai suggest > using cop-set on the amplification level to control volume. But (and this > illustrates my lack of experience with Eca), cop-set requires a chain-op-id > and param-id, how do I get these for the amplifier operator? The following ECI snippet adds a gain control to the woofer chain: c-select woofer cop-add -ea:100 To adjust the parameter of this chain operator, you have to select it. c-select woofer cop-list # get the index of the -ea operator cop-select $index copp-select 1 copp-set 50 # adjust volume As discussed in the mail thread you reference, you will need to make many small changes in volume (or use an envelope) to get a smooth transition. > Do I have to > actively add this chain-op to my chain setup, or is it always there? Also, > in the above setup the -ea switch couldn't be parsed by ecasound. See above. No operators are added by Ecasound. -ea:100 should work correctly. > Sorry for the “green” question ;-) Always pleasant to see someone finding new uses for Ecasound, and this list welcomes all ecasound-related questions, green or otherwise ;-) hope this helps, Joel > Kind regards, > Sjoerd Venema -- Joel Roth |