Quantcast
Channel: Squeezebox : Community : Forums
Viewing all articles
Browse latest Browse all 6235

PCP: Parametric EQ using ladspa_dsp

$
0
0
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 -wi 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 squashfs-tools
tce-load -wi libasound-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.
sudo wget -O /usr/include/ladspa.h https://www.ladspa.org/ladspa_sdk/ladspa.h.txt

# configure and build
./configure --prefix=/usr/local
mkdir install
make
make install_dsp install_ladspa_dsp DESTDIR=install

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

Viewing all articles
Browse latest Browse all 6235

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>