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
