I'm new to the forums, but I'm a long-time linux user and tinkerer.
My band and I are working on a project to reduce or eliminate our stage volume. Our favorite method so far is to utilize headless raspberry pis with USB interfaces and jconvolver loaded up with cabinet IRs. Latency has been phenomenally low (<3ms!) for such a low-power system, and we're very happy with the tones we've been able to achieve using free IRs found around the web.
One of our guitarists would very much like to use a reverb in conjunction with the cabinet IR. This is not a problem and is working beautifully, with one exception: he needs level control for the reverb. As jack does not provide signal processing, I'm left to find a plugin or other solution. Unfortunately, I've not had much luck finding anything that will run headless (no gui). The alternatives are proving to be beyond my current skillset.
Does anyone know of any simple solutions for this?
I've attempted to use an alsa loopback device with softvol, but I've not had any luck in getting alsamixer to actually show me a volume control. Admittedly, it's been a very long time since I've had to actually configure alsa, and I'm struggling to understand how to write an asound.conf that gives me the desired results.
Any help is greatly appreciated, and I'll update with configuration files when I'm able to get to one of the rpis, if necessary.
## UPDATE ##
I found jackminimix and libosctools, which seem like they'll do the trick. I'll report back my finding after some testing.
##EDIT##
Here is the current setup:
/etc/rc.local:
Code: Select all
#set governor to performance
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
#start jack server
JACK_DRIVER_DIR=/usr/local/lib/jack jackd -R -d alsa -d hw:1 -r 48000 -n 2 -p 64 &
sleep 5
#start jconvolver
#Ampeg
jconvolver /home/pi/Ampeg_8x10_e602_A107.conf &
sleep 5
#setup jconvolver routing
jack_connect em:capture_2 jconvolver:verb.in.L
jack_connect em:capture_2 jconvolver:verb.in.R
jack_connect em:capture_2 jconvolver:cab.in.L
jack_connect em:capture_2 jconvolver:cab.in.R
jack_connect jconvolver:verb.out.L jconvolver:cab.in.L
jack_connect jconvolver:verb.out.R jconvolver:cab.in.R
jack_connect jconvolver:cab.out.L em:playback_1
jack_connect jconvolver:cab.out.R em:playback_2
Code: Select all
# in out partition maxsize
# ---------------------------------------------
/convolver/new 4 4 64 250000
#
#
# num port name connect to
# -----------------------------------------------
/input/name 1 verb.in.L
/input/name 2 verb.in.R
/input/name 3 cab.in.L
/input/name 4 cab.in.R
/output/name 1 verb.out.L
/output/name 2 verb.out.R
/output/name 3 cab.out.L
/output/name 4 cab.out.R
#
#
# in out gain delay offset length chan file
# ----------------------------------------------------------------------
/impulse/read 1 1 0.04 0 0 0 1 Spring_reverb_48k.wav
/impulse/read 2 2 0.04 0 0 0 2 Spring_reverb_48k.wav
/impulse/read 3 3 1 0 0 0 1 Ampeg_8x10_e602_A107_48k.wav
/impulse/read 4 4 1 0 0 0 1 Ampeg_8x10_e602_A107_48k.wav