I read the (excellent!) building instructions and was able to have a functioning Zynthian in 1.5 hours, including the Micro SD card.
I am impressed by the amount of thought that went into it. And not too difficult, since I am not a very technical person.
One thing though that is problematic for me…
Playing the VSTs, I notice some latency which i don’t experience with my (quite old) PC laptop. Is it possible to improve this? I have looked in the web configuration tool, but it doesn’t seem to be available (unless it’s one of the grayed-out options).
Latency? How much? The default latency on zynthian is quite low (~10ms) and most of people can’t perceive it, so … or your ears are really fine or there is some problem on your setup.
notes from Zynthian’s Pianoteq
that are triggered by the same midi note.
In the attached waveform, you can see the peak of the percussion sound and the onset of the piano sound.
With 240 bpm, every beat is 250 milliseconds, every 16th note is 62.5 ms. So the latency of the piano sound seems to be around 30 ms. Unless I am forgetting something.
Is there any way to get this down? I had planned to use the Zynthian for Pianoteq, but at the moment it cannot really be used for playing music with enjoyment, except for mellotrons and string sounds
You’ve found something special and unique! Never seen anyone with this problem except the person who felt that 12ms latency was too long which was almost impossible to resolve.
Which PSU are you using? does it have a good quality cable? Are there any alerts? flashing triangles on the sceen? Is, by any remote chance, the zynthian recorded by air-coupled microphone which is approximately 30 feet away from it’s speaker? Is the MIDI cable from the keyboard accidentally 55,000 miles long? 90% of problems are due to the PSU.
You describe triggering from a sequencer. Will you please describe the physical configuration, e.g. what is the sequencer? How is it connected to each device? How are the audio from each device connected to your recorder? How is that audio routed to the recorder? It is difficult to see the difference in timing in your picture. A more zoomed view with timing info and a vertical marker at start of sound may help.
Understanding your test environment may give clues to where the issue is.
(I just checked once more and it felt slightly better while playing piano, but I didn’t measure. Don’t know if anything had changed in the meantime except for some reboots.)
The recording was made by running the Zynthian and Stage piano into a mixer and then recording it. Any recording latency would be identical for both devices. So I think the test was realistic.
I have the official Raspberry Pi 4 power supply, not sure whether there a better ones.
The “sequencer” is my finger pressing a stage piano!
This triggers both the percussion sound of the stage piano and the Zynthian running Pianoteq.
Both outputs go to my mixer/audio interface.
The waveform is the sum of the two sounds. The first peak is the percussion instrument - really short - then the piano waveform. The distance between the peaks indicates the latency.
Well, I mentioned yesterday that the latency suddenly seemed to have dropped.
Not sure whether it was anything on the system (e.g. updates) or my brain which adjusted, but I think the playing experience with Pianoteq went from “almost acceptable” to “reasonable”.
It seems some pianos or presets in Pianoteq are feeling a bit more sluggish than others. It may be my perception again, but it seems some have a slightly slower attack.
If there’s any hints on how to further reduce latency, in particular for Pianoteq, I am open to it.
I have set the buffer size to 128, which didn’t work well.
OK. This is the latency on mine both channels panned left and right. Stage piano Perc on the top channel, Pianoteq on the bottom. They start at 1.17 and 1.19s respectively. A latency of 20ms? TBH, I can’t hear it. They sound instantaneous to me.
It’s more a matter of feeling it than hearing. Stage piano feels “snappier”. Nevertheless, latency for me seems to have gone down (or I have accepted it ;)). I have bought the Stage version of Pianoteq and am very happy with it.
VZ1 synth as matter keyboard. Audio from VZ1 plugged to USB audio interface plugged to laptop. MIDI from VZ1 plugged to USB MIDI interface plugged to Zynthian. Zynthian plugged to USB audio interface whose audio output is plugged to audio input of USB audio interface plugged to laptop. Laptop running Audacity recording stereo track, i.e. direct VZ1 on left, Zynthian on right.
I see 20ms difference between the start of each sound. There are extra stages in my setup like USB MIDI and USB audio. Jack config: -r44100 -p256 -n2 -s -S -X raw. This should add 11.6ms latency within JACK processing. The MIDI message from VZ1 should take 1ms. USB MIDI interface should be quite quick. I wonder if there is any added latency within Zynthian MIDI router?
[Edit] I have not yet done a deep dive into the code but a cursory look makes me think that zynmidirouter may be adding one period to the processing of MIDI which would effectively double the Jack latency. That aligns with empirical tests. I think this warrants a bug report / feature request.