Zynthian Polyphony


#1

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


#2

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,


#3

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


#4

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,


#5

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…]


#6

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,


#7

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: