Portable Guitar Amp – Is That A Linux In Your Pocket?

When it comes to music production and audio engineering, Linux isn’t the most common choice. This isn’t for lack of decent tools or other typical open source usability issues: Ardour as a highly capable, feature-rich digital audio workstation, the JACK Audio Connection Kit for powerful audio routing, and distributions like Ubuntu Studio packing all the essentials nicely together, offer a great starting point as home recording setup. To add variation to your guitar or bass arrangement on top of that, guitarix is a virtual amp that has a wide selection of standard guitar effects. So when [Arnout] felt that his actual guitar amp’s features were too limiting, he decided to build himself a portable, Linux-based amp.

[Arnout] built the amp around an Orange Pi Zero with an expansion board providing USB ports and an audio-out connector, and powers it with a regular USB power bank to ensure easy portability. A cheap USB audio interface compensates the lacking audio-in option, and his wireless headphones avoid too much cable chaos while playing. The amp could theoretically be controlled via a MIDI pedalboard, but [Arnout] chose to use guitarix’s JSON API via its built-in Python web interface instead. With the Orange Pi set up as WiFi hotspot, he can then use his mobile phone to change the effect settings.

One major shortcoming of software-based audio processing is signal latency, and depending on your ear, even a few milliseconds can be disturbingly noticeable. To keep the latency at a minimum, [Arnout] chose to set up his Orange Pi to use the Linux real-time kernel. Others have chosen a more low-level approach in the past, and it is safe to assume that this won’t be the last time someone connects a single-board computer to an instrument. We surely hope so at least.

18 thoughts on “Portable Guitar Amp – Is That A Linux In Your Pocket?

  1. Has a lot of potential…but aside from the input and processing latency, I would expect the wireless headphones to impart a fairly significant and noticeable delay into the signal path.

    1. Correct, I have a bluetooth audio receiver connected to my home audio system.
      When I watch a video, it already anoys me that the the sound is delayed.
      It’s a long time ago, but I used to play music with a keyboard connected to a pc, I sent the midi signal to a software synth, I used asio driver to have only 4 or 5 ms delay, and even that small delay gave me problems to play in tempo.

  2. Not wanting too much hassle, I simply use my GPD pocket for this. It’s pocketable and has touchscreen for easy effect manipulation. I just need a realtime kernel and probably a better soundcard for better output. Still wish that jack could output to bluetooth speaker, though.

  3. @Ren: And Rpi zero would definitely also work, as long as you break out enough USB ports (to accomodate the sound card/headset). I just wanted to try the orange pi for a change

    @Olsen: Indeed, that would also work. In fact, (thanks to Wim for the hint), There is a project called bela (https://bela.io/) that does exactly that (use the PRU’s for ultra-low-latency audio together with the xenomi rt-kernel). That’s a totally different story though, since I would not have been able to use guitarix’s software as is, and manually have to write all my effect’s code. Not so suitable for my specific use-case, but do check out their site for the coolness they produce.

  4. The Orange Pi Zero has a mic in on the 13-pin header, so in theory you could probably do away with the external sound card and use that instead. Would probably require some hardware modding though since the expansion board uses it for an onboard mic.

  5. It’s worth mentioning the Mod Duo, which is an open source fx processor in a pedal form factor that does something similar… running Arch and Jack under the hood iirc.

Leave a Reply to CRJEEACancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.