Stand-alone “mod” idea with raspberry pi and surge xt

Official support for: rogerlinndesign.com
RELATED
PRODUCTS

Post

Dear all,

I am trying to figure it out if it would be possible to create a (battery powered) raspberry pi unit, booting directly with surge Xt standalone, connected to Linnstrument via USB or CME so I could basically use it as a standalone unit.

On Surge XT’s github page it says that it is possible to compile Surge XT on a 64 bit Raspberry Pi.

My concerns:
- Connection with Linnstrument and MPE using cable and or CME to the Raspberry Pi
- Audio Quality
- Battery power for the Raspberry Pi.
- A script or control solution for the parameters of Surge directly from the Linnstrument.

Has anyone managed to pulled off something similar? if yes, please share your process and experience.
What do you all think?
-A

Post

It seems entirely possible. I don't see a compelling reason to use a CME wireless MIDI adapter, you still need to supply power to the LinnStrument and have an audio cable coming out of the Rasberry Pi. But I suppose it could be useful if you want your Pi module stationary on stage and you add a battery pack to the LinnStrument.

I think my approach would be to build a little module with the Pi and a battery that docks onto to the LinnStrument. The PI connects to the LinnStrument through USB, providing power and bi-directional MIDI. The battery connects to the Pi. The module could physically mount to the LinnStrument using the threaded holes for the strap connectors.

I think you'd need to install Linux on the Pi and run Surge in the Linux environment. It shouldn't be too difficult to get it to start Surge at boot with your preset MIDI mappings.

To control Surge you could set up some CC mappings with the CC Fader feature on the LinnStrument. Can Surge respond to Program Change messages from the LinnStrument? I haven't used Surge in ages. But that seems like the go... then you don't need to add an additional MIDI controller to control Surge parameters. It would be nice to know what preset you're on though... maybe it's worth having a screen of some sort? That's a whole separate can of worms.

Post

sznattila wrote: Sun Dec 08, 2024 10:25 pm Has anyone managed to pulled off something similar?
Zynthian is based on a Raspberry Pi 5 and supports Surge XT: There have been recent discussion about MPE support for Zynthian:
jofemodo wrote: Zynthian currently doesn’t support MPE but it’s a long awaited feature we would like to implement. Indeed, the internals are ready for it.

FYI, zynthian already includes a MPE capable synthesizer, Surge XT, but It can’t be used for MPE until chains can listen several MIDI channels.

Indeed Surge XT has been choosed by Roger Linn as the official synth for his LinnStrument:

https://www.rogerlinndesign.com/support/ls-surge

Please, open a feature request and i will prioritize this as soon we land current opened tasks. Perhaps we could have basic MPE support by 2025’s springtime.
sznattila wrote: Sun Dec 08, 2024 10:25 pm What do you all think?
Achievable.

Post

sznattila wrote: Sun Dec 08, 2024 10:25 pm
What do you all think?
I think doing something similar with an iPhone or an iPad would be simpler and more flexible, and recent iPhones and iPads have much more cpu power than a RPi5. The synth and in general the music app ecosystem on iOS is excellent.

In particular, the fact that iPhones/iPads have their normal integrated touch display for you to interact with adds a lot of ease-of-use and flexibility. How are you going to make on-the-fly changes with your RPi solution?

Post

Yes and no…
Apparently the mpe apps are not so stable…
After a while cca 20-30 mins of fiddling with MPE instruments I experience glitches…
And only on iPhone. On Mac everything is fine…

Post

hesitz wrote: Fri Dec 13, 2024 12:27 am How are you going to make on-the-fly changes with your RPi solution?
The Zynthian has a display, along with 20 buttons and 4 rotary encoders.

Post

FranklyFlawless wrote: Fri Dec 13, 2024 3:02 am
hesitz wrote: Fri Dec 13, 2024 12:27 am How are you going to make on-the-fly changes with your RPi solution?
The Zynthian has a display, along with 20 buttons and 4 rotary encoders.
I have a Zynthian. I'm sure it's doable, but the Zynthian is quite clunky compared to iPhone/iPad.

Also, if you're starting to talk stability, I think Zynthian also loses there compared to iPhone/iPad.

I'm not arguing that setting up some kind of RPi solution would not be fun. There's a coolness factor. But I think iPad/iPhone is more practical and flexible and performant.

Post

Sure, but the idea of using an iPhone/iPad with the LinnStrument is well explored at this point.

Post

I've been working on some Pure Data patches that interface with the User Firmware Mode - there is an external for Pure Data called [vstplugin~] that I use to load Surge XT (a benefit being that I could then load multiple instances). One of my plans was to make a simple interface on the Linnstrument itself for patch browsing, and likely a split with cc sliders pre-mapped to the macros, for instance. Both Pure Data and the vstplugin external work on the pi, so this a definite possibility. I've been busy with other things recently but hope to get back to work on it in the new year - maybe a few months and I'll have something to share. Might not be exactly what you're looking for, would need familiarity with Pure Data to get the most out of it, and Surge just an aspect of what I'm aiming for - but just to let you know Pure Data + vst is another route you could go.

Post

In case its of any use...

I recently compiled Surge XT on a RPi 4, because I could not find a pre-built binary.

It took hours to compile but does seem to run, but there is noticable lag / latency when using the built in audio output of the RPi4.

Strangely the HDMI audio output to the screen has much less latency.

I'm using a SMK25II midi keyboard connected via USB, and using the USB midi.

I'm running Ubuntu LTS 22 desktop, as I could not easily get Surge to compile when I had Raspbian installed.

At the moment I've not been able to create a redistributable RPM package becasue of some problem with the package creator script in the cmake file. It seems to be looking for LV2 files, but LV2 is not built by default. I'm not sure if this is a platform related image to my build on ARM or not, because I've not tried to build from sources on X86

Now that the RPi 5 is available, I think it would be a much better candidate for such a system, or one of the Chinese Pi clones, like the Orange Pi 5 Pro.

I have a Orange Pi5B and its considerably faster than the RPi4, so I'll probably give up on running this on the Rpi4 and build again from scratch on the OPi5B

I've not tried running Surge from the command line, and I presume in theory, it would be possible to use something like Ubuntu server, or some other version which is CLI only, and then run Surge from the CLI, which would then not have the whole OS X windows etc overhead

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
I found a binary for Surge-XT for Raspberry Pi as follows:

Go to:
https://surge-synthesizer.github.io/downloads/ (https://surge-synthesizer.github.io/downloads/)

Click on "Open Build Service Downloads". From there I selected "Raspbian" which took me to:

https://software.opensuse.org//download ... xt-release (https://software.opensuse.org//download.html?project=home%3Asurge-synth-team&package=surge-xt-release)

Then I picked "Grab binary packages directly", which then gives the option of Raspbian 11 or Raspbian 12

It installed and runs fine (I have Raspberry Pi OS 12 on the Raspberry Pi 400, overclocked to 2100). I am using it as a plugin inside Carla, with a USB audio interface (built in to my music keyboard - Studiologic Numa X Piano).

However there are serious performance issues (cracks, pops, dropouts) with Surge-XT if I try to play too many notes or use lots of effects (many of the default patches have effects): DSP utilization will rise to 80-90%.

For comparison, Pianoteq 8.4 runs like a dream (performance index of 34-35). Ditto the setBfree time wheel organ.

I played around with various buffer sizes in JACK but can't get acceptable latency and acceptable performance at the same time.

I'm wondering if Raspberry Pi 5 would fix these issues, but don't have one to try.

My use case is to run this headless (connected to the digital keyboard only via USB cable) and switch plugin instrument by changing the midi channel, and/or choose different presets via midi program changes. This all works fine with Carla as the host - except for Surge-XT's heavy DSP load.

Post Reply

Return to “Roger Linn Design”