VCV Rack as a Synth Engine

Hi all,

I’ve been playing around with Zynthian for a week or so; it’s an amazing project and thanks to all the hard effort everyone has put into it. I’ve seen some dated posts on VCV-Rack but nothing focused on bringing it into Zynthian as a synth engine. At a high level it seems feasible with the risk being performance and software user interaction. On the performance side there is another project (sonaremin) which bundles it and whose author has some headstart in optimizing the build for Raspberry Pi. For the UI, I was thinking using X11 forwarding or VNC would work for building out virtualized euroracks and the Zynthian could be used for layer management with more robust interaction that could be discovered as the project matured.

I’m interested in a couple things. Is this project of interest to the community? It would be easier for me to manage the installation and configuration manually on my box but if this is aligned with and supported by this group I’d take a stab at contributing back. Are there prototypical examples of how to bootstrap this project? The documentation has good pointers but if a subject matter expert could point me in the right direction I would appreciate it.

Any help, pointers or guidance welcome and much appreciated.

Hi @whyjustin, welcome to our casa.

This subject had come up a few times in the past few years. (Search forum for references.) I feel like VCV is an excellent concept which may be implemented well (I haven’t tried it) but kinda sits alongside Zynthian as a different product. It may prove rather challenging to co-host both applications on a single Raspberry Pi, especially when considering resources like CPU, memory, storage, etc. Others may have a different opinion :slight_smile:.

Agreed that it would cannibalize a good deal of the machine’s resources when the layer existed. This could be a project direction question, would Zynthian allow layers that were meant to be part of the multitool but didn’t play nicely with resources. It would seem to me that Pianoteq sets a precedent for this as it is heavily CPU intensive. I can enjoy Pianoteq on Zynthian but if I want to add a few layers I probably shouldn’t include it.

There is a fork of VCVRack named miRack. This one has tweaks for RPi[34]. But the lastcommit was in June 2019.

Using VCVRack on Zynthian seems to be cool, but I think you must have a kind of “player” plugin. The patching on the normal Zynthian 3.5" screen is IMHO not working - only if you have very small fingers. Best way would be a LV2-VCVRack-Player plugin for VCVRack patches…

Regards, Holger

It appears this project is dead in favor of an iOS version the author has pivoted to developing and selling.

My thought would be to utilize a computer or tablet to manage this via VNC or X11 forwarding.

This is a good idea and on the VCV roadmap but will be released as a commercial offering. It may be the best approach but I’d like something accessible for everyone.

While I do control my zynthian mostly via vnc, I think building app support into the zynthian that forces that method as the interface is probably against the ethos of zynth.

Having said that, it is fine for you to do yourself.

Thanks everyone in the community for the information and feedback. For the forum record, it appears without an LV2 plugin or custom development around controlling VCV Rack from Zynthian’s UI this project is a non-starter due to lack of project alignment. In addition, VCV Rack leverages OpenGL 2.0 which makes X11 forwarding a non-starter due to lack of technical feasibility. Cheers!

Perhaps it’s not so difficult. Using the headless mode we could easily create a vcv-player, same as we have for PureData , using a control definition file for every patch, etc .

I don’t know how much CPU it would eat but i suspect a rbpi4 can run most of patches, moreover when no gui has to be rendered.

If someone creates a recipe for installing vcvrack on Zynthian, i would create the basic skeleton for the engine.

Regards!

3 Likes

Just when I thought I could give up. Thanks for the reply @jofemodo. Essentially at that point the workflow you be creating a patch on another computer and uploading it to Zynthian, loading the desired patch via the Zynthian interface, and then using it. With the correct patch, MIDI could be used to control various parameters of the Eurorack modules. I’ll take a look into it when I have some free time.

Note that V2 is not released yet and headless mode it’s not available. We have to wait …

This is the sort of thing you could build using the pinetab married to some sort of expansion board.

Until we have headless mode, I’ve created a PR for v1. It still needs a lot of love but I think will provide the groundwork for the future. VCV Rack loads its patch via a field in the settings.json file (patchPath) so a Zynthian friendly mode where the Zynthian interface selects and loads a patch is possible.

I could use some pointers around the audio configuration as I got a bit lost around the approach and zynthian_autoconnect.py. I’m hoping someone can point me in the right direction. Once I get this right I will focus on audio and UI optimization - it would be great to be able to edit patches remotely via xpra although I’d be happy with creating patches on another computer and loading them into Zynthian.

1 Like

Might make sense to dedicate a small X86-64 PC to Linux/VCV. This has potential due to Rasperry Pi GPIO and Arduino onboard… https://www.mouser.co.uk/new/seeed-studio/seeed-studio-odyssey-x86j4105-sbcs/ 150 UK pounds… not cheap but good specs if graphics are up to the task… else headless. :slight_smile:

After toying with this for a while, the set up is fairly performant utilizing the Skyler Jack modules for audio. Both the sys and ui PRs need some love but in my opinion this is a viable path forward. I’ve only tested on a Raspberry Pi 4 and understand that there will be considerable performance degradation on a Raspberry Pi 3. If anybody is interested in trying it out and providing feedback, I would love it.

1 Like