Guitarix on a Raspberry Pi 2
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 8
- Joined: Thu Aug 25, 2016 3:39 pm
Guitarix on a Raspberry Pi 2
Hello, I'm new to this forum and new to the world of linux-based computing. Last year I purchased a Raspberry Pi 2, originally with the intention of using it as a portable gaming platform, but after setting up various OS's and seeing the capabilities of this small computer, it got me thinking what else it could do.
I play the guitar, and a good while ago, I saw the following video demonstrating this mini-computer working as a multi-fx platform in real-time: https://www.youtube.com/watch?v=u6XKaRe_MEA
However, I have not found anywhere how to actually set it up. All I'd like is some guidance on what I need to do in order to make things work.
I have a Behringer UCG102 usb-interface I can use to connect the guitar to the Raspberry Pi, which has both an instrument input and a stereo headphones output, so that part is covered.
I just want to know how I can get Guitarix running on it for real-time use. I'm an entry-level user, so I ony have very basic knowledge of using Terminal and all that.
Thanks in advance for any help.
I play the guitar, and a good while ago, I saw the following video demonstrating this mini-computer working as a multi-fx platform in real-time: https://www.youtube.com/watch?v=u6XKaRe_MEA
However, I have not found anywhere how to actually set it up. All I'd like is some guidance on what I need to do in order to make things work.
I have a Behringer UCG102 usb-interface I can use to connect the guitar to the Raspberry Pi, which has both an instrument input and a stereo headphones output, so that part is covered.
I just want to know how I can get Guitarix running on it for real-time use. I'm an entry-level user, so I ony have very basic knowledge of using Terminal and all that.
Thanks in advance for any help.
Re: Guitarix on a Raspberry Pi 2
I have never tried what you want to achieve but in that case I would start here:
http://wiki.linuxaudio.org/wiki/raspberrypi
http://wiki.linuxaudio.org/wiki/raspberrypi
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
Search this forum. There are several threads here touching upon that subject. See for instance https://www.linuxmusicians.com/viewtopi ... 53&t=13425. What you should do is to install Autostatics repositories and install from there.
Frank
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.
-
- Established Member
- Posts: 8
- Joined: Thu Aug 25, 2016 3:39 pm
Re: Guitarix on a Raspberry Pi 2
I did do some searching on the forum beforehand, but since I couldn't find anything through the search, I opened the topic. Either way, thank you, I will be taking a look at it!Frank Carvalho wrote:Search this forum. There are several threads here touching upon that subject. See for instance https://www.linuxmusicians.com/viewtopi ... 53&t=13425. What you should do is to install Autostatics repositories and install from there.
Frank
-
- Established Member
- Posts: 2347
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 466 times
Re: Guitarix on a Raspberry Pi 2
A much better solution is to use my special source for ARM devices which I've pushed to sourceforge, I've just pushed a new version (0.35.3git).Frank Carvalho wrote:What you should do is to install Autostatics repositories and install from there.
https://sourceforge.net/projects/guitar ... z/download
It's a striped down version (no LV2 or LADSPA plugs) with the source optimized for build and run on ARM devices.
The version on Autostatics repository is outdated, and the source used is UN-optimized for ARM.
Her you go:
http://guitarix.sourceforge.net/forum/v ... =14&t=4782
On the road again.
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
It is essentially a much cooler solution, to go for a dedicated ARM version, and I much prefer running that. However, as I am really into your GxSuperFuzz and GxSuppaTonebender etc., and those are in LV2 format, then I will have to stick to Autostatics outdated version, do I not? Or does it mean, that you do not provide precompiled lv2 plugs, but it will still run lv2 plugs?
/Frank
/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.
-
- Established Member
- Posts: 2347
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 466 times
Re: Guitarix on a Raspberry Pi 2
No, striped down from LV2 plugs means just that I've removed the LV2/LADSPA plugs coming with guitarix, LV2 support in guitarix is still given. So you could load your LV2 goodness into guitarix even with this version.Frank Carvalho wrote:It is essentially a much cooler solution, to go for a dedicated ARM version, and I much prefer running that. However, as I am really into your GxSuperFuzz and GxSuppaTonebender etc., and those are in LV2 format, then I will have to stick to Autostatics outdated version, do I not?
I've striped it down, to reduce the compile time, and, because I'm to lazy to rework all LV2 plugs coming with guitarix for ARM. That will maybe happen over the time, one by one.
Yes, I didn't provide anything pre-compiled, and indeed it will still load/run LV2 plugs.Frank Carvalho wrote:Or does it mean, that you do not provide precompiled lv2 plugs, but it will still run lv2 plugs?
On the road again.
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
Well, that settles it for me! I will attempt a recompile.
Tell me, I looked at the README, and it tells me to
There is no such directory in the tar file. There is a trunk/src containing a number of subfolders for faust, gx_head etc. There is a waf file under /trunk itself, so is this where compile begins?
/Frank
Tell me, I looked at the README, and it tells me to
Code: Select all
cd guitarix_source_directory
/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.
-
- Established Member
- Posts: 2347
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 466 times
Re: Guitarix on a Raspberry Pi 2
Hi Frank
Yes, the "guitarix_source_directory" is /trunk, from there the build starts.
You should use the following command to configure/build guitarix:
configure will check for missing dependency's, if you get a error there, you may need to install the missing *.*-dev package.
It is also recommended, before install guitarix from source, remove the installed package from the autostatic repository, to avoid conflicts with multiple installed versions.
In the worst case, you can remove guitarix build from source by running
from the source directory (trunk) and reinstall the version from the repro.
Yes, the "guitarix_source_directory" is /trunk, from there the build starts.
You should use the following command to configure/build guitarix:
Code: Select all
./waf configure --prefix=/usr --no-faust --includeresampler --convolver-ffmpeg --optimization
./waf build
sudo ./waf install
It is also recommended, before install guitarix from source, remove the installed package from the autostatic repository, to avoid conflicts with multiple installed versions.
In the worst case, you can remove guitarix build from source by running
Code: Select all
sudo ./waf uninstall
On the road again.
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
Hi Tramp
It took me some time to sort out the dependencies, but now I am compiling. However, now I have a showstopping problem. When I compile the following line:
the compiler stalls, and draws a lot of CPU cycles which makes the Pi unresponsive.
Yesterday, I waited long enough to witness the compiler itself crash on compiling this line! I have never experienced the compiler crash before. I thought that present versions of the gnu c++ compiler was more or less bulletproof.
So what do I do? Perhaps this particular line makes you think of a specific issue, but I have no idea how to fix this.
/Frank
It took me some time to sort out the dependencies, but now I am compiling. However, now I have a showstopping problem. When I compile the following line:
Code: Select all
[389/413] cxx: src/gx_head/gui/gx_stackbox_builder.cpp -> build/default/src/gx_head/gui/gx_stackbox_builder.o
Yesterday, I waited long enough to witness the compiler itself crash on compiling this line! I have never experienced the compiler crash before. I thought that present versions of the gnu c++ compiler was more or less bulletproof.
So what do I do? Perhaps this particular line makes you think of a specific issue, but I have no idea how to fix this.
/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.
-
- Established Member
- Posts: 2347
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 466 times
Re: Guitarix on a Raspberry Pi 2
Looks like you running out of the addressing range on the Pi2. Maybe it helps, adding the -mlong-calls. Also it may help restricting the jobs to 1.
Code: Select all
./waf configure --prefix=/usr --no-faust --includeresampler --convolver-ffmpeg --optimization --cxxflags=-mlong-calls -j 1
On the road again.
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
Thanks, that worked.
Yes, it behaved like a system running out of resources. Now I am struggling with my decision to upgrade Raspbian, and install a real-time kernel. I haven't configured it correctly yet, so it currently unstable, as I need to setup some different kernel parameters. The recompiled Guitarix starts though. The kernel freezes, but I think it is down to the rt kernel. I'll get back when I've done some tweaking.
/Frank
Yes, it behaved like a system running out of resources. Now I am struggling with my decision to upgrade Raspbian, and install a real-time kernel. I haven't configured it correctly yet, so it currently unstable, as I need to setup some different kernel parameters. The recompiled Guitarix starts though. The kernel freezes, but I think it is down to the rt kernel. I'll get back when I've done some tweaking.
/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.
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
I am still experiencing problems with a system that freezes up the kernel. But it doesn't happen when the system is idling, only when I am running jackd+guitarix. Then it will invariably lock up the kernel after a while. If I start jackd+guitarix and just leave it in the initial configuraiton, it is alive for a while. If I load a preset that uses more effects the lockup comes quicker. If I load Sonnie_tele clean_clean preset, it with lock up very quickly.
Another observation I made is that the setup is *a lot* more unstable in 48kHz than in 44.1kHz.
So my theory is that some resource gets exhausted, causing a lockup. It's just that I have no idea which one. I have tried to run top until it freezes, but there is plenty of free memory, and the CPU does not seem to be overly busy at the time of lockup. So what can be wrong? Any suggestions I might try?
Oh yeah, another thing. The realtime config scan script reveals that there are no timers available (hpet and rtc). I think this is the nature of the RPi. But could this cause the problems? I have not found any info on the web about setting up timers on the RPi.
Edit: I can produce kernel lockups just by starting jackd itself. So this must be a pretty basic problem with jackd.
/Frank
Another observation I made is that the setup is *a lot* more unstable in 48kHz than in 44.1kHz.
So my theory is that some resource gets exhausted, causing a lockup. It's just that I have no idea which one. I have tried to run top until it freezes, but there is plenty of free memory, and the CPU does not seem to be overly busy at the time of lockup. So what can be wrong? Any suggestions I might try?
Oh yeah, another thing. The realtime config scan script reveals that there are no timers available (hpet and rtc). I think this is the nature of the RPi. But could this cause the problems? I have not found any info on the web about setting up timers on the RPi.
Edit: I can produce kernel lockups just by starting jackd itself. So this must be a pretty basic problem with 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.
-
- Established Member
- Posts: 2347
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 466 times
Re: Guitarix on a Raspberry Pi 2
As far I know, the rt-kernel is not usable on a PI2. Do you still try it with this? I guess you better switch back to mainline kernel, . .
On the road again.
-
- Established Member
- Posts: 363
- Joined: Sat Nov 17, 2012 3:36 pm
Re: Guitarix on a Raspberry Pi 2
Yes.
I am following the instructions here:
https://emlid.com/raspberry-pi-real-time-kernel/
along with these instructions:
http://www.frank-durr.de/?p=203
My best guess right now is that the lack of a hardware timer in the Jessie release is giving me trouble, so I am trying to use the instructions here: https://www.raspberrypi.org/forums/view ... 6&t=125003 to load the necessary modules.
Of course, if my efforts are fruitless, I have to go back to a standard kernel. The current installation is Raspbian Jessie (september 2016 version) with the emlid rt kernel added per the instructions above. But the previous Jessie I installed (may 2016 version) - without RT - was also unstable, and I couldn't get the buffer size lower than 256, which is the reason I wanted to try an RT-kernel in the first place.
If it wasn't for the kernel lockup happening after a while, then I can get lower latency and lower buffer sizes now than before, so I am not prepared to throw the towel on the RT-kernel just yet.
/Frank
I am following the instructions here:
https://emlid.com/raspberry-pi-real-time-kernel/
along with these instructions:
http://www.frank-durr.de/?p=203
My best guess right now is that the lack of a hardware timer in the Jessie release is giving me trouble, so I am trying to use the instructions here: https://www.raspberrypi.org/forums/view ... 6&t=125003 to load the necessary modules.
Of course, if my efforts are fruitless, I have to go back to a standard kernel. The current installation is Raspbian Jessie (september 2016 version) with the emlid rt kernel added per the instructions above. But the previous Jessie I installed (may 2016 version) - without RT - was also unstable, and I couldn't get the buffer size lower than 256, which is the reason I wanted to try an RT-kernel in the first place.
If it wasn't for the kernel lockup happening after a while, then I can get lower latency and lower buffer sizes now than before, so I am not prepared to throw the towel on the RT-kernel just yet.
/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.