Hi all,

I'm running PCP for some self-build speakers which sound better with a
custom parametric equalization,
http://www.uibel.net/bauvor/bv_box/o...chreibung.html
But I have started tweaking the sound of all my 4 PCP based players with
this approach.
For the parametric eq I'm using ladspa_dsp, https://github.com/bmc0/dsp
for which I managed to build a tcz package and hack asound.conf to
include my settings.
Currently this is quite raw, as you will need to edit /etc/asound.conf
and the dsp config files. Now that I understand how all this works, I
don't mind editing these config files directly. And as these files
change only when I measure and calibrate new speakers, I usually do this
only once per player. 

I'm posting this to help others who want more than the 10 band EQ
included in PCP. I build a ladspa_dsp.tcz that runs on PCP 6.0. I'm not
sure how this should be distributed, currently I have just attached it
to this post... Ideally I would like to add it to the PCP repository
somehow.

A step by step guide for setting up parametric EQ:

1. copy ladspa_dsp.tcz and ladspa_dsp.tcz.dep to
/mnt/mmcblk0p2/tce/optional/
Optional: If you like to use the dsp command line tool to quickly test
settings, you need to install pcp-libffmpeg using tce-load -w
pcp-libffmpeg

2. add ladspa_dsp.tcz to /mnt/mmcblk0p2/tce/onboot.lst
echo ladspa_dsp.tcz >> /mnt/mmcblk0p2/tce/onboot.lst


3. backup ladspa_dsp config: Add "etc/ladspa_dsp" to edit
/opt/.filetool.ls>>
echo etc/ladspa_dsp >> /opt/.filetool.lst


4. configure /etc/asound.conf by adding:

#--- ladspa_dsp below ---
pcm.dsp {              
type plug        
slave {          
format FLOAT
rate unchanged
channels unchanged
pcm {
type ladspa
path "/usr/local/lib/ladspa"
playback_plugins [{
label "ladspa_dsp"      
}]           
slave.pcm {       
type plug 
slave {   
pcm "sound_device"
rate unchanged
channels unchanged
}    
}                 
}                         
}                                 
}            


5. create dsp config files
sudo mkdir /etc/ladspa_dsp
sudo chown tc /etc/ladspa_dsp

# dsp config file, see https://github.com/bmc0/dsp
echo "effects_chain=noise -200 @cms50-v3-37Hz.txt" >
/etc/ladspa_dsp/config

# effects file containing the parametric eq settings
# this example for the Focal CMS 50 monitors trades volume against bass.
# now the bass starts at 37 Hz instead of 48 Hz. It additionally removes
a minor
# non-linearity in the high frequency.
# You can generate eq parameters by measuring speakers with REW and
tweaking suitable settings.
echo "gain -9.0 highpass 38.0 6.30 eq 38.0 1.948 -7.2 eq 64.0 2.000 -1.6
eq 4194 5.000 -2.7 eq 7447 5.000 -2.8" > cms50-v3-37Hz.txt

6. Disable built-in audio (if you use a sound card, which you probably
do). I'd like to simplify things by just having the real audio device
available. 

7. configure squeezelite to use the dsp output (Squeezelite Settings ->
Output Setting).

8. Optional: Configure mixer, my Justboom DAC has a hardware volume
control. On the squeezelite tab set "Alsa volume control" = Digital and
add "Various options" = -O hw:CARD=sndrpijustboomd,DEV=0



HOW TO BUILD THE PACKAGE:

Log into pcp

# create and cd into directory for compilation
cd /mnt/mnt/mmcblk0p2/source

# get needed software
tce-load -wi compiletc
tce-load -wi git
tce-load -wi quashfs-tools
tce-load -wi pcp-libmad-dev
tce-load -wi libasound-dev
tce-load -wi pcp-libffmpeg-dev
tce-load -wi pcp-libffmpeg-dev
tce-load -wi gmp-dev

# get source
git clone https://github.com/bmc0/dsp.git
cd dsp
# get ladspa.h header, its not packaged.
wget -O ladspa.h https://www.ladspa.org/ladspa_sdk/ladspa.h.txt

# configure does not properly work, as pkg-config support in pcp is
incomplete
#./configure --prefix=/usr/local
# Use the following config file instead
cat <<EOF > config.mk
all:  dsp ladspa_dsp
install:  install_dsp install_ladspa_dsp
uninstall:  uninstall_dsp uninstall_ladspa_dsp

PREFIX := /usr/local
BINDIR := /bin
LIBDIR := /lib
DATADIR := /share
MANDIR := /man
DSP_OBJ +=  ffmpeg.o alsa.o mp3.o
DSP_CPP_OBJ += 
DSP_EXTRA_CFLAGS :=  -DHAVE_FFMPEG -DHAVE_ALSA -I/usr/local/include
DSP_EXTRA_LIBS :=  -L/usr/local/lib -lavcodec -lavformat -lavutil
-lasound -lmad
LADSPA_DSP_OBJ += 
LADSPA_DSP_CPP_OBJ += 
LADSPA_DSP_EXTRA_CFLAGS :=  -I.
LADSPA_DSP_EXTRA_LIBS :=  
EOF

# build
mkdir install
make install DESTDIR=install

# create tcz package
mksquashfs  install ladspa_dsp.tcz
echo "libasound.tcz pcp-libmad.tcz pcp-libffmpeg.tcz" >
ladspa_dsp.tcz.dep


+-------------------------------------------------------------------+
|Filename: ladspa_dsp_pcp6.0.zip                                    |
|Download: http://forums.slimdevices.com/attachment.php?attachmentid=30499|
+-------------------------------------------------------------------+

------------------------------------------------------------------------
Engel's Profile: http://forums.slimdevices.com/member.php?userid=68611
View this thread: http://forums.slimdevices.com/showthread.php?t=112318

_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/unix

Reply via email to