Zynthian Pi4 used as sound module – audio glitches on Oram stable

Hello everyone,

I’m having an issue when using Zynthian on a Raspberry Pi 4 with the latest stable version of Oram. In my use case, when I use 2 patches per subsnapshot and play denser passages with many notes and the sustain pedal engaged, I get audio glitches (clicks/pops).

My setup consists of a Pi 4, a Maono USB audio interface, a Casio CDP-S150 keyboard, and an M-Vave SMK-37 Pro controller for patch switching (which takes around 1–2 seconds to change sounds). I am only using FluidSynth with SF2 soundfonts of approximately 250MB per patch.

I am using the system more as a sound module/rack for live performance rather than a full workstation. I would like to know if anyone has tested older, lighter versions of Zynthian (around 2022, such as stable-2211) in this kind of setup on the Pi 4, and if there is still any recommended way to access those images for comparison testing.

Thank you!

Hi @jeffersonandradejas !

AFAIk, older images are not lighter. We really try to make new images lighter by reducing CPU usage and CPU waste as much as possible. We try to optimize the UI and have more CPU available for sound processing.

Most probably, the combination of engines that is producing glitches with Oram, was producing glitches in older versions too.

My advice;

  • Disable VNC is it’s enabled
  • Disable Mixer Peak Meters (admin menu)
  • Try to simplify your setup to avoid the glitches. You could use “htop” to see how CPU is being used.
  • If you are using big SFZ or GIG soundfonts, consider reducing the size or using a faster media storage.
  • You could try the latest test image (vangelis) :wink:

All the best,

2 Likes

A RPi4 should happily 2 FluidSynth chains wihtou glitches and changing sounds (via ZS3) should be near instantaneous. What you describe is not the behaviour I would expect.

The first point of concern would be the physical build. Is the RPi4 behaving well? Does it have sufficient cooling? Does it have a good PSU with high quality cable and connection? Are there any bad connections, e.g. on its 40 pin header? How are you presenting its display?

Next I would look at the audio interface. Low cost / quality audio interfaces can have substantial impact on the ability for zynthian to create sound. Some have such small audio buffers that the RPi is working very hard to service the audio stream. I am not familiar with the Maono devices (and you don’t specify which model you have) but they look towards the lower end of the market so it is plausible they suffer this issue. (I would not have assumed this as they are not dirt cheap but I would certainly investigate this.) If you have access to another soundcard, you could compare behaviour.

1-2 seconds to change sounds is odd but depends how what you are doing. I would expect a hardware controller to send a MIDI message within a few milliseconds of hitting a button. If this is a MIDI Program Change mapped to a ZS3 then I would expect Fluidsynth to have changed sound within 100ms (1/10 of a second). (These are wet-finger estimates chosen to be indicative of the kind of behaviour to expect.) You haven’t said how you are changing sound - maybe you are changing snapshot which will take a longer time.

As @jofemodo says, you should use the latest version of zynthian, either the current Oram stable or Vangelis testing (which is getting all the love at the moment) because these are likely to be more optimised, but even on older versions you should not be experiencing these issues.

2 Likes

Raspberry Pi 4 + Vangelis Test – Observations on FluidSynth Performance

I would like to share my experience in case it may help other users or contribute to future improvements of Zynthian.

Hardware Used

  • Raspberry Pi 4 (4 GB RAM)

  • Vangelis Test image

  • Casio CDP-S150

  • M-VAVE SMK-37 Pro

Audio interfaces tested:

  • Maono P22 Lite

  • Zoom LiveTrak L-6

Testing

I tested both the standard Zynthian GM SoundFonts and several larger RedPianos SoundFonts.

The SoundFonts were initially stored on the SD card, then moved to an external SSD, and finally to a USB flash drive.

In practice, I did not notice any significant performance difference between these three storage options.

FluidSynth Polyphony

The default configuration was set to 64 voices of polyphony.

Under this configuration, I was able to reproduce occasional clicks, mainly when using:

  • pads;

  • electric pianos;

  • the sustain pedal;

  • passages with a high number of simultaneous notes.

After increasing the polyphony:

  • from 64 to 128 voices;

  • and later to 192 voices;

the improvement was very noticeable. The clicks almost completely disappeared during normal use, and the system became much more stable.

ZS3 Switching

Another aspect that caught my attention was the significant improvement in ZS3 switching speed. Snapshot changes became noticeably faster and smoother, greatly improving the live playing experience.

CPU and Memory Usage

Even during the most demanding tests:

  • CPU usage remained low;

  • memory consumption stayed well below the available 4 GB.

This suggests that the observed issues were not simply caused by a lack of processing power or memory.

Audio Interface Comparison

I tested two USB audio interfaces:

  • Maono P22 Lite;

  • Zoom LiveTrak L-6.

Both worked correctly. However, the Zoom LiveTrak L-6 delivered the best overall performance, providing greater stability under more demanding playing conditions.

Overall Impressions

The Vangelis Test image proved to be very stable throughout all my testing.

For me, the most noticeable improvements were the increased FluidSynth polyphony and the much faster ZS3 switching.

I would also like to highlight the quality of this project. The developers are very responsive, always willing to help, and quick to answer questions. The community also deserves recognition for being active, collaborative, and constantly sharing solutions and ideas that help improve Zynthian.

My congratulations and sincere thanks to all the developers and community members for their excellent work.

2 Likes

Hi @jeffersonandradejas !

Thanks for your detailed report and kind words!
I jut tested fluidsynth with 128 voices of polyphony and decided to “commit” the change, so now it’s on vangelis for everybody. If some Pi3 zynthian owner could test and have trouble with this polyphony, we could reduce for Pi3 only.

Regards

2 Likes

Sfizz Polyphony Test with VPO SFZ on Zynthian Vangelis Test – Raspberry Pi 4

Hello community,

I would like to share a test I performed with Sfizz using the VPO library in SFZ format on Zynthian Vangelis Test, running on a Raspberry Pi 4 (4 GB RAM).

During the tests, I noticed that some sustained notes were being cut off when playing fast string passages, even without using the sustain pedal. At first, I investigated whether this could be related to sample loading, but the tests indicated that the main factor was the Sfizz voice limit.

The original Raspberry Pi 4 configuration was:

  • num_voices = 48

  • preload_size = 16384

First, I increased only the polyphony:

  • num_voices = 64

  • preload_size = 16384

There was a small improvement, but the problem still occurred.

I then tested:

  • num_voices = 64

  • preload_size = 32768

There was no noticeable improvement, and a small increase in XRUNs occurred, so I returned preload_size to 16384.

The best result was achieved with:

  • num_voices = 96

  • preload_size = 16384

With this configuration, the improvement was very significant. Sustained notes remained stable during fast playing, with only a small XRUN occurring in extreme test situations.

I believe this behavior is related to the use of multiple layers per note in the VPO SFZ files. A single note can consume several internal Sfizz voices, especially during fast passages.

I also went back to testing the Maono P22 Lite audio interface, which is working smoothly with this configuration.

As an additional load test, I used two chains simultaneously, including the Salamander Piano. The observed impact was small: only one CPU core reached approximately 41% usage, while memory usage remained below 1 GB.

Current test configuration:

  • Raspberry Pi 4 – 4 GB RAM

  • Zynthian Vangelis Test

  • Sfizz

  • VPO in SFZ format

  • num_voices = 96

  • preload_size = 16384

  • Maono P22 Lite audio interface

It may be worth evaluating whether the default Sfizz voice limit of 48 voices for the Raspberry Pi 4 could be increased for users working with more complex SFZ instruments.

Thank you all for the excellent work on the Zynthian project.

1 Like

Question about MIDI controller mapping in Zynthian Vangelis Test

Hello developers,

I am having some difficulties mapping and assigning buttons, knobs, and faders on my MIDI controller M-Vave SMK-37 Pro.

In the ORAM version, this process was very simple and fast: I only needed to press and hold the desired control for approximately 2 seconds (for example, Volume, Chain, Mute, and other Zynthian mixer/environment controls), and the system would automatically detect the MIDI command sent by the controller, allowing the assignment.

However, in the Vangelis Test version, I believe this function has changed, because I am no longer able to perform the mapping in the same way.

I would like to know what is the correct procedure for MIDI mapping in the current Vangelis version. Is there a new configuration or option that needs to be enabled to allow the quick assignment of buttons, knobs, and faders from a MIDI controller?

Thank you.