Check out the Online MOD

Hi everyone

I’d like to show everyone here an initial version of something very exciting that we’ve been working on for the last months, the Online MOD.

https://try.mod.audio/

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 :wink:

My dearest wishes to everyone

PS: click the speaker symbol on the top left side in order to start streaming audio

29 Likes

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 :wink:

4 Likes

Server full…

4 Likes

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!

6 Likes

Wow. This looks great. Thank you. I look forward to playing with this…
Bless you, and the team.

1 Like

@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 :grin:

1 Like

Hello.

I tried several times to see the website, but it always full.

Could anyone take and share some pictures about this website? :star_struck:
A short demo video would be awesome!

1 Like

It is just mod-ui that you are already familiar with.

But I know you want details :sweat_smile:
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? :thinking:

2 Likes

Is there a guide to run that locally on a Linux PC? Would be a nice way to play with the MOD plugins and env while my Dwarf doesn’t get here :slight_smile:

3 Likes

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.

5 Likes

Thanks for the clarification, Filipe. It’s very interesting!

…maybe we should keep 1 instance always open, so people can always connect to that one if no more are available? :thinking:

If it won’t degrades your services, why not?

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.

1 Like

well I went ahead and created GitHub - moddevices/mod-live-usb: MOD platform as bootable Live-USB image
it is better to ignore the old attempts many years ago of a live-usb, it was just too hard to maintain.

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.

7 Likes

Server full… Seems there’s a lot of hype here :wink:

That’s amazing! Let me know if I can help with anything, be it testing or anything else.

This is so nice, thank you.

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

Very promising :+1:

2 Likes

well, there is something now for a very very first try on live/usb part too :slight_smile:

instructions in the link. super experimental stuff for now.
screenshot from within qemu (I did test on real hardware as well)

3 Likes

I cleaned up the plugins recently.
Delete the bundles and .stamps folder inside mod-live-usb/plugins/ and run its “make” again.

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! :smiley:
(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 :wink:

1 Like

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