Zynthian Polyphony

Hi,

I am not absolutely sure if this is the correct category for this. If so, I guess the mods can move it to a more appropriate place…

I would like to know, what the polyphony is to be expected from the zynthian under the following conditions:

  1. Sampler (Soundfont or Drum-Machine)
  2. quite massive VAS using 3 oscillators, 3 LFOs, 3 EGs, 2 Filters per voice

All this routed through 3 master-bus-FX’ (eg. reverb, delay, chorus).

While I really like style and design of the the zynthian, I wonder if it would have enough power to do the above with e.g. 30 to 50 polyphonic voices? Or if it might be a better idea to use the same basic idea but a mainbord with more power (Intel NUC?) instead of the raspberry pi3B+?

best,
Locutus

1 Like

Hi @Locutus !

RBPi has limitations, as it’s an ARM processor (RISC) and doesn’t have the performance of an Intel/AMD processor (CISC).

To be more specific:

  • Linuxsampler (SFZ) is quite CPU-eager. The version currently included
    in Zynthian is limited to 21 voices, that is not too much. You could
    increase this limit, but at risk of getting XRUNs.

  • FluidSynth (SF2) is a better choice for achiving high polyphony.
    Default limit for FluidSynth is set to 256 and i never had problems.
    I’m pretty sure that 50 voice polyphony is perfectly OK with FluidSynth.

  • Regarding the Virtual Analogue Synth, it depends a lot of the
    synth-engine and the specific presets you use. Zynthian include a bunch
    of them:

    • ZynAddSubFX => quite CPU eager and very dependent of specific
      presets, as it uses a complex combined-model for synthesis.

    • Helm => I don’t know too much about it, but it sounds really
      cool and have a lot of options

    • Triceratops => It seems quite light and sound is good.

    • synthv1 => It’s a 2 oscillator old-school VAS, very light, but
      powerful, and include a full set of FX and filters.

    • NoizeMa3r => I never got problems with it. Sound is quite thick and
      it’s plenty of options, like Helm.

    • etc.

Anyway, i can’t tell you if it will be enough for you. Probably no, if
you expect the same power of a desktop or laptop computer

Kind Regards,

1 Like

oh, I forgot: how difficult would it be to integrate my own synth? I must admit that I don’t like ZynAddSubFX that much…

If you can compile your Synth for RBPi as a LV2-plugin, them integration is trivial. Only copy the plugin to the right folder and check a box for enabling it.

If you can compile your synth as a standalone program, integration is more difficult, but not too much. Of course, it depends a lot of the techy details.

Only for curiosity … when you talk of “your own synth”, what do you mean? It’s your own code? In any case, is it free software?

Regards,

If you can compile your Synth for RBPi as a LV2-plugin, then integration is trivial.
Only copy the plugin to the right folder and check a box for enabling it :wink:

I guess this would then enable some sort of a “default” GUI? Would be a start, but I must admit that I would prefer having something more sophisticated :wink: on the long run…

If you can compile your synth as a standalone program, integration is more difficult, but not too much. Of course, it depends a lot of the techy details :wink:

Currently it’s standalone (and currently – for some years, now – only being used non-realtime as a sample-generator… but once upon a time parts of it were tightly integrated into LMMS, so, I know it is realtime-capable and if I didn’t break too much during time it should be working in it’s realtime-mode right out of the box).

… and turning it into a LV2-plugin should not be too complicated…

Only for curiosity … when you talk of “your own synth”, what do you mean? It’s your own code? In any case, is it free software?

It is my own code. No additions from other people. Free, however is relative (while I do not have any problems to release it, though…):

I started this back in time because LMMS (most particularly it’s Tripple-OSC-module) was just sounding too bad. Their idea was to allow for aliasing in realtime-mode and just render the final track using oversampling. This would have been fine, but they didn’t realize that under these conditions their noise-generator would drastically change it’s behaviour in between “preview” and “final” quality and that they would be in the need for Oversampling in the 10-20 MHz region for making the remaining alias inaudible “enough” (-60dBc).

So I started writing alias-“free” (only to the point were alias-products can not be heard any more if used as lead-voice to keep them fast) oscillators and noise-generators for LMMS. After that I fixed their FM-/Ring-/AM-Modulators and added some of my filters (Active-RC-Filter-Simulation up to stable self-oscillation).

At some time I didn’t have too much spare time, so I focussed on using readily available hardware-synths (e.g. Waldorf Blofeld and others). I do not know if LMMS kept any of my oscillator-code or my RC-filter simulations. But as said, you might still find some sound-examples on their pages…

The current synthesis model is very similar to what the Waldorf Blofeld implements. So it supports 3 oscillators (sine, saw, tri, pulse (incl. PWM), wavetables, samples), 3 LFOs, 3 ADSR-EGs, 3 Filters (LP/HP/BP/comb-filter/vocal-formant-filter), three FX-slots with just the classic fx’s (LCR-delay, reverb, chorus).

On an AMD A6 @2.4GHz it reaches about 150 to 200 voice polyphony.

Because of my tendency of prefering to have hardware in my hands, I thought that it would be a nice idea of building an nice case (think of Blofeld or Access Virus desktop-models) a smaller Intel NUC, a ‘larger’ LCD-screen and some more incremental/digital POTs and turn this into a standalone VA-synth… Of course I did a research if someone-else had done this before. And this was the point were I stumbled across Zynthian.

I am still not sure if polyphony would be sufficient on a Raspi 3B+ but it might be hitting the 25 to 50 margin - which would be absolutely OK for me (more polyphony always could be achieved by using more Zynthians). So, I am still undecided if I should head for a NUC or if the Raspi-Solution would be more than adequate. The other tempting thing is: I would not be doing everything by myself… so this should speed things up greatly…

Would it be an option to install Zynthian on a barebones 3B+ (using it’s ‘not-so-good’ internal DAC and an external display) for initial basic performance tests? Or does it require HifiBerry or similar soundcards?

best regards,
Locutus

PS: [Ooops,… this got by far too lenghty… :wink: sorry for that…]

3 Likes

The internal “DAC” is not a DAC, but a cheap PWM generator. It has a huge latency and sound is dirty and crappy. It’s not usable in any way …You would need a decent DAC :wink:

Regards,

1 Like

Does the RPI support HDMI audio? Seems he could get a decent feel of how it could perform with just a pi3. Even if it doesn’t work out, there are plenty of things you can do with a pi. :slight_smile:

I know this is an old post, but I was envisioning building something similar to what you’re talking about (Blofeld like wavetable, 3 osc synth) but with an analog multi mode filter and analog distortion and echo- did you ever manage to port LMMS to the platform?

LMMS is a DAO. Zynthian is a Multi-Synthesizer Module. I don’t see any advantage of running LMMS on a zynthian box, although i’m pretty sure that you can do it without problem. Just install it and plug HDMI display, mouse and keyboard :wink:

FYI, zynthian wants to be a dedicated micro-DAO for live performance and basic studio creation, (prototyping), although it will never replace a true DAO for serious music production.

Currently you can use the SooperLooper plugin for basic audio looping. Also have basic recording/playback of Audio & MIDI. Sequencing capabilities are in the TODO list, although not implemented yet:

  • Fully integrating SooperLooper for Audio Looping.
  • Integrate “midish” for MIDI sequencing & looping.
  • Integrate QMidiArp for Step Sequencer & Arppeggiator

Regards,

2 Likes

Is DAO == DAW? :grinning:

4 Likes

Ah- In reading about LMMS, it seems to be a DAW, which I’m not interested in, I already use Ableton- but I would be interested in Locutus’ software on Zynthian, and then routing that audio to the analog mods I was suggesting above.

Please send a link to the project

Yes. DAO = DAW, in spanglish :rofl::rofl::rofl:

4 Likes

:grinning:

6 Likes

From lost to the river … :grin:

1 Like

Hi Zynthianers! I am a new user of Zynthian and it is a really great pleasure to play on Zynthian! Thank you for that!
I was searching here on similar thread, so I hope it is OK putting my question here:
I have strange experience with Linuxsampler synth (Salamander piano). I love how it sounds, but I am getting “shortened” notes sometimes - perhaps due to limited polyphony? Here is some sound sample: https://discourse.zynthian.org/uploads/default/original/2X/f/f0c30246f17a0997fe0b3be4405fab1ceb1633c2.ogg
What do you think? I am curious if somebody have the same problem…?
I am wondering how to increase the polyphony limit. The CPU load during playing is about 20%, so I am not afraid of XRUNs. I would really appreciate any help!

My Zynthian have Raspberry Pi4:

You can change this in the LinuxSampler install script:

And run the build script from the command line like that:

$ZYNTHIAN_RECIPE_DIR/install_linuxsampler_stable.sh

It will take some time …

Perhaps it’s time to change this for nightly Buster builds … when builds are working again ;-(

Regards,

I had a go with this. 64 voices was a bit too much an leads to xruns. 32 is ok but you still can get the odd chopped off note when there is a lot of sustain.