Guitarix on a Raspberry Pi 2

Discussion of all things Raspberry Pi / Raspberry Pi 2 related

Moderators: MattKingUSA, khz

tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Guitarix on a Raspberry Pi 2

Post by tramp »

Frank Carvalho wrote:Yes! That looks really good :D
When it goes official, I'll pitch it, at the different Vox sites I frequent.
Thanks, that will be welcome. Spreading the word.

So, yes, I've reworked the dsp side now as well, I could reduce the CPU usage so that it runs now in the same league then the ToneBender.
But, I need to reduce the precision of the vibe simulation to reach that, let me know if it is worse it or not.
Other than that, I would say it's ready for production so far.
I've implemented true bypass for the modules in the plug, so that only selected dsp parts run, that means that the DSP load could vary when switch a module on/off, but this vary is negligible low.
For click-less module switching I've implemented up/down ramping,

regards
hermann
On the road again.
Frank Carvalho
Established Member
Posts: 363
Joined: Sat Nov 17, 2012 3:36 pm

Re: Guitarix on a Raspberry Pi 2

Post by Frank Carvalho »

Do I just pull it from github the same place?
Vox, Selmer, Yamaha and Leslie amplifiers. Rickenbacker, Epiphone, Ibanez, Washburn, Segovia, Yamaha and Fender guitars. Hammond, Moog, Roland, Korg, Yamaha, Crumar, Ensoniq and Mellotron keyboards. Xubuntu+KXStudio recording setup.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Guitarix on a Raspberry Pi 2

Post by tramp »

On the road again.
Frank Carvalho
Established Member
Posts: 363
Joined: Sat Nov 17, 2012 3:36 pm

Re: Guitarix on a Raspberry Pi 2

Post by Frank Carvalho »

Hi
It now compiles, runs and works great on the RPi2 at low latency! So your optimizations work really well. I've remade all patches so as to work as a frontend for a real 100watt transistor amp, and I can get some really 60'ies guitar sounds out of the GxVmkII plugin. Only problem I experience on a large setup is that the entre setup just doesn't work with 48kHz. Sound, even at much higher latency settings, becomes a ring modulated noise. And at 44.1kHz some of the clarity of the sound is lost, even with a clean pass-through setting. So there's a compromise to be made here. This has nothing to do with the GxVmkII plugin though, but is a general observation about sound processing on the RPi2, probably related to jackd.
Frank
Vox, Selmer, Yamaha and Leslie amplifiers. Rickenbacker, Epiphone, Ibanez, Washburn, Segovia, Yamaha and Fender guitars. Hammond, Moog, Roland, Korg, Yamaha, Crumar, Ensoniq and Mellotron keyboards. Xubuntu+KXStudio recording setup.
blackcorvo
Established Member
Posts: 8
Joined: Thu Aug 25, 2016 3:39 pm

Re: Guitarix on a Raspberry Pi 2

Post by blackcorvo »

Wow, I didn't know this thread would get so active when I was away! I'm honestly surprised.

I now have a Raspberry Pi 3 (I used my Pi 2 on an Arcade for my brother-in-law), so I'd like to know if there's any tricks to making this system work on it, and what exactly is the process of doing so. My main issue is that, since I know nothing of the inner workings of the Pi, stuff like "compiling" and command lines are but buzz words for me at the moment.

I don't like to admit it, but I kinda need somebody to hold my hand through the process of installing this system on the Pi and making it all work, since my current knowlege is limited to simply following tutorials. :(
User avatar
Michael Willis
Established Member
Posts: 1451
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 69 times
Been thanked: 164 times
Contact:

Re: Guitarix on a Raspberry Pi 2

Post by Michael Willis »

blackcorvo wrote:I don't like to admit it, but I kinda need somebody to hold my hand through the process of installing this system on the Pi and making it all work, since my current knowlege is limited to simply following tutorials. :(
That's fine, everybody has to start from somewhere. Hopefully you took copious notes along the way :)
blackcorvo
Established Member
Posts: 8
Joined: Thu Aug 25, 2016 3:39 pm

Re: Guitarix on a Raspberry Pi 2

Post by blackcorvo »

Michael Willis wrote:That's fine, everybody has to start from somewhere. Hopefully you took copious notes along the way :)
That's precisely the problem: I didn't understand a single thing of what has been talked about so far. Can't really take notes when you can't understand what people are talking about.
What I do know is how to set up a Pi with Noobs or Berryboot, and that's it. If there's another way to use a Pi, I haven't done it and I wouldn't know where to even start.

[EDIT]

I did some reading, and I saw somebody suggest to look inside the .tar.xz file for an "instructions" or "readme" file when you want to do this type of installation process.
Once I found it, I understood the instructions user "tramp" gave in his post on page 1 were the commands to install the program. I tried, but the installation process can't seem to find the g++, c++ and icpc programs. I'm running Quirky OS at the moment, so I'm not sure if it maybe doesn't natively have some of those files needed for this installation process, so I'll try Raspbian next.
blackcorvo
Established Member
Posts: 8
Joined: Thu Aug 25, 2016 3:39 pm

Re: Guitarix on a Raspberry Pi 2

Post by blackcorvo »

So, I managed to get all packages needed once I used Raspbian, but it gives me an error when I try to do the waf command:

Code: Select all

pi@raspberrypi:~ $ cd /home/pi/Downloads/guitarix-git/trunk
pi@raspberrypi:~/Downloads/guitarix-git/trunk $ ./waf configure
Checking for program msgfmt              : /usr/bin/msgfmt 
Checking for program intltool-merge      : /usr/bin/intltool-merge 
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for jack <= 1.8.0               : Package jack was not found in the pkg-config search path.
Perhaps you should add the directory containing `jack.pc'
to the PKG_CONFIG_PATH environment variable
No package 'jack' found 
Checking for jack >= 1.9.2               : Package jack was not found in the pkg-config search path.
Perhaps you should add the directory containing `jack.pc'
to the PKG_CONFIG_PATH environment variable
No package 'jack' found 
/home/pi/Downloads/guitarix-git/trunk/wscript:656: error: the configuration failed (see '/home/pi/Downloads/guitarix-git/trunk/build/config.log')
pi@raspberrypi:~/Downloads/guitarix-git/trunk $
I have already installed Jack, but for some reason the installation can't find it...? Am I understanding it correctly?
rghvdberg
Established Member
Posts: 1067
Joined: Mon May 12, 2014 7:11 am
Has thanked: 15 times
Been thanked: 36 times

Re: Guitarix on a Raspberry Pi 2

Post by rghvdberg »

blackcorvo wrote:So, I managed to get all packages needed once I used Raspbian, but it gives me an error when I try to do the waf command:

Code: Select all

pi@raspberrypi:~ $ cd /home/pi/Downloads/guitarix-git/trunk
pi@raspberrypi:~/Downloads/guitarix-git/trunk $ ./waf configure
Checking for program msgfmt              : /usr/bin/msgfmt 
Checking for program intltool-merge      : /usr/bin/intltool-merge 
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for jack <= 1.8.0               : Package jack was not found in the pkg-config search path.
Perhaps you should add the directory containing `jack.pc'
to the PKG_CONFIG_PATH environment variable
No package 'jack' found 
Checking for jack >= 1.9.2               : Package jack was not found in the pkg-config search path.
Perhaps you should add the directory containing `jack.pc'
to the PKG_CONFIG_PATH environment variable
No package 'jack' found 
/home/pi/Downloads/guitarix-git/trunk/wscript:656: error: the configuration failed (see '/home/pi/Downloads/guitarix-git/trunk/build/config.log')
pi@raspberrypi:~/Downloads/guitarix-git/trunk $
I have already installed Jack, but for some reason the installation can't find it...? Am I understanding it correctly?
Did you install jack-dev package?
blackcorvo
Established Member
Posts: 8
Joined: Thu Aug 25, 2016 3:39 pm

Re: Guitarix on a Raspberry Pi 2

Post by blackcorvo »

After installing the following packages

Code: Select all

g++
c++
jack
gmodule-export-2.0
sndfile
glibmm
fftw3f
libavcodec
lrdf
lilv-0
webkit-1.0
boost-system
gperf
avahi-gobject
bluez
eigen3
I was not able to finish building it, since the Raspberry Pi freezes about 380/415 items "built", or whatever the process is called.
My guess is that I shouldn't be using Raspbian with GUI? Could that be using up enough memory/CPU to cause the thing to freeze?
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Guitarix on a Raspberry Pi 2

Post by tramp »

blackcorvo wrote:I was not able to finish building it, since the Raspberry Pi freezes about 380/415 items "built", or whatever the process is called.
Do you try with this command line?
viewtopic.php?f=53&t=16264#p76293

Code: Select all

./waf configure --prefix=/usr  --no-faust --includeresampler --convolver-ffmpeg --optimization --cxxflags=-mlong-calls -j 1
On the road again.
blackcorvo
Established Member
Posts: 8
Joined: Thu Aug 25, 2016 3:39 pm

Re: Guitarix on a Raspberry Pi 2

Post by blackcorvo »

tramp wrote:
blackcorvo wrote:I was not able to finish building it, since the Raspberry Pi freezes about 380/415 items "built", or whatever the process is called.
Do you try with this command line?
viewtopic.php?f=53&t=16264#p76293

Code: Select all

./waf configure --prefix=/usr  --no-faust --includeresampler --convolver-ffmpeg --optimization --cxxflags=-mlong-calls -j 1
I apparently had copied the line up to "--optimization", didn't see the rest. I'll try again and post the results soon.

[EDIT]

Yep, that worked! Onto the next step.

[EDIT2]

Guitarix and Jack seems to work, they open and seem to run properly, now how do I get my Behringer UCG102 to work?

[EDIT3]

Figured it out, just needed to select the USB AUDIO DEVICE on Jack's setup, then properly connect the inputs and outputs,
It works!... for a while. It loses the audio after a couple minutes, and a yellow "attention" sign appears in place of the "notepad" icon on the lower right corner in Guitarix. What could be happening here?

[EDIT4]

This is what's happening: Jack is having some issue after being active for a period of time. I snatched a cople pics of my screen to show you what's happening:

Image

Image

Right when the line "XRUN callback (1)." appears, the audio output is gone. I guess there's something I still need to set up in Jack???
Frank Carvalho
Established Member
Posts: 363
Joined: Sat Nov 17, 2012 3:36 pm

Re: Guitarix on a Raspberry Pi 2

Post by Frank Carvalho »

Did you untick realtime in Jack? For some reason, I had issues with stability when realtime was ticked on. Also, try to start Jack outside Guitarix before you start Guitarix, and have Gtx connect to the running Jack instance. I seem to remember I had problems when I started Jack from within Guitarix. Not sure why. I didn't dig further into the issue.

Frank
Vox, Selmer, Yamaha and Leslie amplifiers. Rickenbacker, Epiphone, Ibanez, Washburn, Segovia, Yamaha and Fender guitars. Hammond, Moog, Roland, Korg, Yamaha, Crumar, Ensoniq and Mellotron keyboards. Xubuntu+KXStudio recording setup.
BruceR
Established Member
Posts: 5
Joined: Sat Mar 04, 2017 8:45 pm

Re: Guitarix on a Raspberry Pi 2

Post by BruceR »

Hi,

thanks for this tread I've learned a lot. I've got a Pi3 where I've compiled the ARM version of Guitarix from tramp.
I've also compiled jack2 without dbus because I am trying to create a headless device.
instructions for compiling jack2 here https://capocasa.net/jackd-headless

I'm having trouble getting jack to stay stable for more than a few minutes.
Can anyone share a good working set of jack settings?

thanks

Bruce

edit: Typo
Frank Carvalho
Established Member
Posts: 363
Joined: Sat Nov 17, 2012 3:36 pm

Re: Guitarix on a Raspberry Pi 2

Post by Frank Carvalho »

I can share the setting I use, and they work. But as I use the dbus version of jack it might not be applicable in your situation.
Notice that, contrary to what I said above, it does start with realtime enabled. But I also have to start Jack externally before I start Guitarix, because it does not work when Guitarix starts jack. Two more things. I use 44.1kHz. 48kHz does not work for Guitarix, and I do not believe that it is just the fact that it processes 9% more instructions per time unit. The CPU is only moderately active. Even doubling the buffer size and latency etc, it still goes into some nasty digital distortion at 48kHz, even with no plugins activated. So for the time being I stick with 44.1kHz. Also, try "soft mode".

Jackd settings from ~/.config/jack/config.xml (which is used by jackdbus). My sound card is an M-Audio Quattro:

Code: Select all

<?xml version="1.0"?>
<!--
JACK settings, as persisted by D-Bus object.
You probably don't want to edit this because
it will be overwritten next time jackdbus saves.
-->
<!-- Thu Dec 15 23:13:07 2016 -->
<jack>
 <engine>
  <option name="driver">alsa</option>
  <option name="realtime">true</option>
  <option name="verbose">false</option>
  <option name="client-timeout">2000</option>
 </engine>
 <drivers>
  <driver name="loopback">
  </driver>
  <driver name="net">
  </driver>
  <driver name="dummy">
  </driver>
  <driver name="netone">
  </driver>
  <driver name="alsa">
   <option name="capture">hw:Quattro,0</option>
   <option name="playback">hw:Quattro,0</option>
   <option name="rate">44100</option>
   <option name="period">64</option>
   <option name="nperiods">3</option>
   <option name="hwmon">false</option>
   <option name="hwmeter">false</option>
   <option name="duplex">true</option>
   <option name="softmode">true</option>
   <option name="monitor">false</option>
   <option name="dither">n</option>
   <option name="inchannels">2</option>
   <option name="outchannels">2</option>
   <option name="shorts">false</option>
  </driver>
  <driver name="alsarawmidi">
  </driver>
 </drivers>
 <internals>
  <internal name="netmanager">
  </internal>
  <internal name="audioadapter">
  </internal>
  <internal name="profiler">
  </internal>
  <internal name="netadapter">
  </internal>
 </internals>
</jack>
/Frank
Vox, Selmer, Yamaha and Leslie amplifiers. Rickenbacker, Epiphone, Ibanez, Washburn, Segovia, Yamaha and Fender guitars. Hammond, Moog, Roland, Korg, Yamaha, Crumar, Ensoniq and Mellotron keyboards. Xubuntu+KXStudio recording setup.
Post Reply