Run qsynth. See what address and port it is using with aconnect -l. On my ubuntu, it is 129 and 0. vguitar needs to connect to these with -A 129 and -P 0.
Run vguitar in either strum (-S) or tablature (-t ) modes. Play music with the space key in strum mode.
In tablature mode, you need to be in clip mode, and have set the clip interval and play with the ‘c’ key.
Once you can hear your guitar play, it is time to record. Run pavucontrol, and fiddle with it until you can see it respond to your playing.
Then, run arecord to get a wav file. You can use aplay to see if you recorded any music. Lame will convert the wav file to mp3.
Vguitar relies on Qsynth for playing the midi stream. Really, vguitar just produces a real-time midi stream, and qsynth maps the midi notes with sound fonts to get the sound card to produce actual audio. The audio is what you hear on your headphones, or to create a mp3 file.
So this recipe depends on Qsynth setup and configured. Qsynth uses pulse audio or Jack sound architecture (among other choices). I used pulse audio, but you can also use Jack and qjackctl. I found this link which talks about configuring Qsynth with Jack https://www.rosegardenmusic.com/tutorials/qsynth-rosegarden/ConfiguringJackAndQsynth.html
Set the Buffer Size to 1024 to improve sound quality — or leave it at 64 to get that crackly distorted effect.
Qsynth needs to configure it with soundfonts and that is fairly easy. Really it is a matter of just pointing the configuration to the right soundfile.