I think this method should ideally work for any guitar plugged into the system. It is just taking input from one device and sending it to an output device.
pacat -r –latency-msec=1 -d alsa_input.usb-Hercules_Rocksmith_USB_Guitar_Adapter-00.mono-fallback | pacat -p –latency-msec=1 -d alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor
Another interesting find. Guitarix is quite impressive and fairly easy(though not very easy, it will take some understanding of pipewire, jack, alsa and pulseaudio in other words how does linux audio work) to setup and comes with an inbuild tuner and many presets.
Step1:
Install these packages
sudo pacman -S guitarix pipewire-jack qpwgraph
Add your user to the newly created group check if the group already exists if not create it.
sudo groupadd realtime # creates the group
sudo usermod -a -G realtime $USER
sudo usermod -a -G audio $USER
To reduce latency copy this file and edit the lines to change the value
cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf
Then we change the node.latency
value to 128/48000
by uncommenting and modifying the line.
In qpwgraph
make sure you pipe the output of your audio interface to the input of guitarix
and the output of guitarix
to the input of your speakers. This step took some guessing but it worked out and I was able to connect the guitar to headphones.
For me connecting gx_head_amp directly to output worked but checkout if connecting gx_head_amp > gx_head_fx > output works. What every works. you have to start guitarix and make sure your guitar is connected before running qpwgraph, only the you will see gx_head_amp and gx_head_fx.
Once it is connected then you can start tuning your guitar and then check presets and other advanced options.