In a nutshell, it is a MOD system running on a server and streaming audio to your browser.
Multiple users share the same session, it is the same single instance for everybody and resets every 24h.
This is only an alpha version and still needs to be properly set up and packaged, but already is a lot of fun. I’m publishing here so that the members of our community can have an initial taste and even give us feedback. We’re eager to know what you guys think of it.
We are evaluating how this can be packaged. It can range from a simple marketing tool to a complete SAAS for non-owners of devices. For device owners, this could serve as a great online add-on feature, with users having their Pedalboards created and stored online - without the device - and sync to the devices later.
I warmly invite you to try it out
My dearest wishes to everyone
PS: click the speaker symbol on the top left side in order to start streaming audio
I’ve been secretly playing around with this already (the perks of being in the “super secret development chatroom”) and it’s most impressive.
The latency you get with WebRTC is really minimal when you consider that the server is somewhere else entirely.
I think this tool can be particularly useful to try out shared patches, but also to try out plugins that you can buy from the store (if they get added). This gives the users a chance to try out these paid plugins before opening their wallet
Server full message for me as well. However, just knowing that you’re working on stuff like this makes me so happy to have joined the MDX community. Keep up the great work!
@CSurieux and @Gordon_Strange that means that some people saw @gianfranco’s post and it’s trying it out (there’s still a low number of possible instances since it’s in a super early stage of development).
Just keep trying until someone leaves a free sit inside
It is just mod-ui that you are already familiar with.
But I know you want details
The idea is not complicated on paper - run a jack server with mod-host and have them feed audio into a webrtc stream, with mod-ui communicating with the host, all of it in a container so it is possible to run multiple ones and expand and scale up.
Getting this all to work is the tricky part… normal containers are not suitable for realtime audio, neither are VMs in general.
We have something that mostly works, but I would still label it as “beta” for now. It is already a great show-case, when it works.
…maybe we should keep 1 instance always open, so people can always connect to that one if no more are available?
you can , kinda, we have something like that with GitHub - moddevices/mod-app: MOD desktop application
(clone with git submodules active and build as described in readme)
but all plugins will be missing the custom MOD stuff.
many years ago we had a bootable usb stick with a MOD environment.
it would be easier to go for that, probably.
The USB stick is a fun idea, if the code still exists could you point me to it?
Regarding mod-app, is there a repo somewhere with build files to build all the opensource LV2 plugins? I know MODEP has a repo to build Debian packages for opensource plugins, but I don’t care about packages, just building the plugins and dumping them to a common LV2 folder.
at this point there is not much to see on that new repo, I am just setting up a build for the container where the OS and (soon) plugins will go.
all built with buildroot, as we use for other things.
now, the problem with using regular linux distro repositories (and I say this from experience) is that the setup is very different from what is used for MOD.
so getting the plugins to work there, specially with modgui, becomes a pain to maintain.
when we setup the online “sandbox” on the cloud, we investigated reusing mod-plugin-builder to build x64 plugins (which worked great) but has the issue of the libraries used in MOD vs system/desktop being different.
so the next step was to build a MOD-OS-like image or container, so that everything matches what is known to work; from applications, libraries to plugins, using the same exact versions as those running on the units.
the “only” things left to do is creating some little welcome tool and reuse some project to generate a bootable USB image.
It works on Linux Mint using the container. I did the “make”, sorted out the “extract rootfs” commands and added the plugins generated with mod-plugin-builder.
Started it with “pasuspender – ./mod-os/start.sh USB”.
mod-ui reports 691 plugins (some did not build).
I get Audio in and out, midi in works also.
To use my local jackd installation, effectly sharing the sound card between desktop and mod, I replaced jack service command with:
ExecStart=/usr/bin/jackd -R -P 60 -S -t 200 -C /mnt/config/jack-internal-session.conf -d net -n mod -a 127.0.0.1
Then run:
jack_load netmanager -i “-a 127.0.0.1”
./mod-os/start.sh USB
I am now running the live-usb demo on my old laptop using the DuoX as the sound-card (the built-in card is pretty terrible).
Little bit ironic, but it works really well!
(also using the official MOD-branded usb-stick hehehe)
MOD-team can’t wait to go to trade-shows and hand out live-sticks to interested vendors I bet
Tested the iso in a VM with redirection of my USB audio device. It works. The virtual sound device of the VM is hard to get running with jackd and a waste of time regarding latency. Took my a while to find out that 1024MiB Ram is not enough, 1280MiB and jackd is able to start. One tricky thing was to find out how to send Ctrl+Alt+T to the VM.
“virsh send-key mod-live-vm --holdtime 200 KEY_LEFTCTRL KEY_LEFTALT KEY_T” is working for me.
I was lazy and took the rootfs and plugins from the iso. Now I have the same versions as on mod-live-usb-v1-x86_64.iso