Independent audio outputs

I was wondering if the 1/4" outputs and the RCA outputs are necessarily the same, or if they’re just mirrored in software. I’m trying to find out if I can use the Zyn (kitv2 with HiFiBerry Pro) both as a synth and then independently as an FX send/receive on my mixer.

Is that possible, or is it something that fundamentally the audio interface can’t do?

Edit: Reading the HFB specs, it’s obvious now that there’s only one DAC, for one stereo pair out. I guess my question becomes what would best practices be for looping the zyn into the fx chain? An idea:

  • All non-zyn sources sent to a submix on the physical mixer
  • send that sub to the zyn inputs
  • Gain 2x2 layer for capture
  • all the zyn synths on other layers
  • the final fx chain getting all the zyn layers, including capture
  • zyn outs to return on physical mixer

I think that’s the closest I can get to using a single zyn for both synth and fx duty. Did I miss anything that would make this use case better, short of getting a USB audio interface for a secondary output?

Hi @sehrgut

Each audio input and output of a Zynthian may be used as a mono audio or part of a stereo pair. By default routing is made as stereo pairs with both inputs being routed to effects chains and both outputs being routed to main output.

Accessing the layer context menu by bold pressing on a layer will allow the input (capture) and output to be routed manually. You can select zero or more inputs and outputs. Most inputs and outputs are available in this routing table which allows you to create the audio paths you want.

1 Like

The alternative is an additional sound card via alsa_out: “Using multiple Sound Cards with alsa_in

I use it to route live instruments audio in via usb to the zynthian, apply audio-fx and then back out via USB to distribute to external samplers, while keeping the native HiFiBerry Pro audio in-/out for synth layers and final mix of the output of the external samplers.

I am not sure about latency, but it works well for my purpose.

2 Likes

If you want more that two inputs or more than two outputs you are better off getting a multiple I/o sound card.

2 Likes

Is that better than using the HFB for one pair of outputs and another for a second pair? Is there a major CPU usage or other sort of reason to not run the HFB alongside a USB sound card?

1 Like

I give a description of why there is CPU increase using multiple audio interfaces here. Zynthian has to samplerate convert to avoid timing glitches. I am using a Behringer UMC 1820 which gives me 8 mic / line inputs and 8 outputs and it works great. In fact, I no longer use my mixer and just use the Zynthian. (See this thread.)

2 Likes

Thank you! I’ll certainly have to think about my strategy on this. I appreciate the links to the other threads!

How has your experience been so far using the UMC1820 @riban? Using the hifiberry I am finding a lot of problems with complex internal audio routing, relating to snapshots, so I am considering to use the UMC instead, and doing the fx routing externally from an analog mixer. I’m thinking of a minimum of 10 layers (each layer routed to its own output). 8 would be used for 8 fluidsynths, routed each to an individual output. And two ins and outs would be used for audio fx layers, to be connected to the aux send/receive of the analog mixer. This setup would only have to be loaded once. Would these 10 layers routed to 10 outputs be pushing it, or could it be a reliable solution? Do the snapshots work well to recall these multi output assignments correctly? Would be very interested in hearing your experiences. I can also order the UMC and send it back in case it doesn’t work consistently, and report back here!

Sorry - I am away from home for a couple of weeks so can’t test this directly. I have been concentrating on the official kit recenty to ensure my coding works with that well so the UMC1820 has been sitting idle for a little while. It did work very well and IIRC the inputs and outputs appeared in layer’s context menu as appropriate. Give me a nudge in a couple of weeks when I am back home and I can do some specific tests for you.

Ah that would be great! Thanks! I went ahead and picked one up and just started testing. So far so good! It seems all output assignments are remembered correctly. With a buffer size of 256 the latency is too extreme for my purpose, so it is only useable at 128, which causes xruns with most instruments, with the exception of Linuxsampler. So that should work for me! Also using FX plugins for the aux sends seems very plugin specific which causes xruns and which don’t, but so far I’ve found some that seem to work without probems (TAL-dub-3 and Calf reverb). Right now I’m running five linuxsamplers without problems. If increasing this amount means more xruns are likely to happen, I might do the FX externally via hardware FX, as multi-output poly samplers are a lot harder to find!

Plugin performance (xruns) depends on the complexity of the processing and effectiveness of the coding. Poorly or lazily coded simple plugins may xrun more than well coded complex ones. There are some very good plugin programmers who understand how to squeeze performance from the system. Others may not have (yet) taken the time to optimise their code or perhaps don’t have the experience to know the inefficiencies in their code.

Ah yes that makes sense. And this optimization of performance has to be done for each system? Like some might work better on the RBPI 3 and others on 4? And is there a level of optimization that has to be done for performance to improve within the Zynthian OS? Sadly after spending more time with linuxsampler with buffer size of 128, there were still too many xruns, which rules the Zynthian out as a multi-output sampler for now for me. The only sampler plugin I have not yet tested is samplv1, but I have to figure out how to get custom SFZ or SF2 files running on it.