[LAU] Jconvolver on Raspberry Pi

Fons Adriaensen fons at linuxaudio.org
Thu Feb 18 20:17:33 UTC 2016


On Thu, Feb 18, 2016 at 01:02:49AM -0700, bricolodu wrote:

> I first thought you made a mistake and had tried to connect the *outputs* of
> jconvolver to the soundcard, i.e. add the soundcard ports to the
> /output/name lines.
> 
> But didn't got sound.

Because squeezelight was not connected.
 
> than Idid what you said connect the *intputs* of jconvolver to the
> soundcard, i.e. add the soundcard ports to the /intput/name lines.

Please think for a second. It doesn't make any sense to connect
an input to an input. 

You always need 

   jack_connect   some_output   some_input

For example

   jack_connect  jconvolver:out.L  system:playback_1
   jack_connect  jconvolver:out.R  system:playback_2

Note that the system:playback ports are *inputs*, even
if they correspond to the outputs of the sound card.
Think of these ports as the inputs of the D/A converters.

> #/cd /root/folve/filter
> #
> #                 in out    partition      maxsize
> # ---------------------------------------------------------------
> /convolver/new    2    2        1024        65536
> #
> #
> #              num   port name     connect to
> # -----------------------------------------------
> /input/name     1     in.L
> /input/name     2     in.R
> #
> /output/name    1     out.L
> /output/name    2     out.R
> #
> #
> #               in out gain delay offset length  chan    file
> # --------------------------------------------------------------------------
> /impulse/read   1  1  0.75    0      0       0    1    T-Monacor_SPH30X.wav
> /impulse/read   2  2  0.75    0      0       0    1    T-Monacor_SPH30X.wav

This is OK.

> 1/ start jack2 : jackd -d alsa -r 44100 -p 256 -n 16 -P -S

Try -p 256 -n 2, or -p 512 -n 2. There is no reason to use
16 periods, or shorter periods.

> 2/ start jconvolver : jconvolver filter-44100.conf

OK.

> 3/ jack_disconnect system:playback_1 jconvolver:out.L -> OK

Can't be OK, this is input -> output, and it should be the reverse.

> 4/ jack_disconnect system:playback_2 jconvolver:out.R -> cannot disconnect

Same.


Try this:

1. Start jack (with -p 256 -n 2).
2. Start squeezelight.

3. Use jack_lsp -c to see the ports and the connections.
Probably squeezelight has connected to the playback ports,
and you have sound. If that is the case, use jack_disconnect
to disconnect squeezelight (2x). Verify again with jack_lsp -c.
There must be no connections.

4. Start jconvolver.

5. Use jack_connect to connect squeezelight to jconvolver:in (2x).
6. Use jack_connect to connect jconvolver:out to the soundcard (2x).

If all of this works, you can put the connections in the 
jconvolver config file. Then if you start jconvolver last
it will make all the required connections.

*** But then you still need to remove the direct connections
*** from squeezelight to the soundcard. If you don't, you get
*** a mix of the sound with convolution and without, and that
*** will not sound right.


-- 
FA

A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)



More information about the Linux-audio-user mailing list