Using MOD technology to turn any PC into a Linux stompbox?

Hi! This is my first post on the forums, I don’t own a MOD Duo, but I’m very thankful to the MOD team for their awesome work, the plugins that they have refurbished and the fact that they make such awesome devices and make them opensource!

I have about 8 years of home studio experience with Linux, and last year I’ve been performing a few live gigs with Linux using KX Studio Live DVD (distro), Openbox (window manager), Carla (plugin host) and ZynAddSubFX (synth) running on a Dell Latitude 3550 laptop.

I had a few bad issues that disabled my setup diring a few concerts (while the rehersals went great) - I tracked down one of them which was a Carla bug I reported (causing multi-part ZynAddSubFX sounds to stutter), but some others (that made my machine freeze) I wasn’t able to debug.

ZynAddSubFX is a synth that I use most in my work for music and sound design - and I’d love to be able to run it for Live performance - it’s not availabile int he MOD Duo though (too heavy? non-rt safe? No idea).

So I wonder if one can build a reliable live music performance system using Linux? I looked at the MOD Github and I wonder - can this software you guys developed be used to make something like the MOD Duo from any (sufficienlty fast) PC?

I don’t even care if it’s going to be a headless system - as long as it’s rock-solid and can run my favourite LV2 plugins.

We have a custom linux system for trying out the MOD software.
See more details here: http://wiki.moddevices.com/wiki/Live-MOD

Focus right now is on the device itself though.
At some point in the future we’ll update that image.

I’m sure to check out the Live MOD system - thank you!

I’ve played with LiveMOD yesterday, and I like the minimalism and that is seems to have a very little overhead and be stable for DSP (I haven’t heard a single xrun). I have 4 questions:

  1. The plugin set in current LiveMOD seems to be rather limited (I know, it’s not a priority for MOD) - can I do something to update it on my own?

  2. The latency is quite noticable - how can kick it down a notch? The CPU usage is very low, so I guess a 4 times smaller JACK buffer would still do just fine (on my machine). I tried logging into a TTY to change the jack buffer size, but no luck with the username and password :slight_smile:

  3. Is it possible to have more than 2 channels of audio input/output?

  4. I wasn’t able to use any of my USB/MIDI keyboard CC controllers for plugin control - are they hardwired to MOD Duo/Quadra’s knobs or can be used with any MIDI device?

We limited the plugins on that image to only those that had modguis.
When we built that the list was not big…

But the plugin (and the OS) is based on KXStudio.
So you might be able to apt-get update/install a few things on the live system, although not sure how well it will go.

I think you missed the audio configuration settings:

Just lower the buffer size and click “apply now”.

There’s a terminal available under “Dev Tools”.

I forgot what the username was, but you can open that terminal and run “whoami” to find out.
The live user has no password, and can use sudo.

Yes, the live-system will always use the maximum possible audio channels.

MIDI CC was not working when we did this build.

I haven’t found the Dev Tools, and I saw a note that in the final LiveMOD it’ll be removed. Maybe something didn’t quite load properly on my machine.

I would run whoami, but I coudn’t access any shell :slight_smile: - could someone with the Dev Tools working do a whoami for me and publish the username?

Multiple channels - awesome!

Another question: is LiveMOD loading the whole system into RAM? It boots up for quite long I smell PuppyLinux technology in the use :wink:

The Dev Tools is the 2nd tab on the top-left. See the screenshot I posted.
I don’t know how you missed it…

Booting the entire system to RAM? Not sure now, maybe.
The reason it takes so long on some systems is a systemd bug related to network initialization.

I think there’s something missing on my panel, I’ll try again and post a picture.

Long boot oh, that’s I thought the networking isn’t needed for operation, maybe it could be disabled?

Another question:

If I install Live MOD with a Casper-RW persistance file - will it store my saved pedalboards from boot to boot?

[quote=“unfa, post:8, topic:925, full:true”]
Long boot oh, that’s I thought the networking isn’t needed for operation, maybe it could be disabled?[/quote]

I couldn’t figure out how to stop systemd from doing its thing at the time.
Something to investigate on the next ISO image.
But yeah, network is not needed at all.

Do you know how to make that work? The system is based on Ubuntu, so the normal tricks might work…
Good luck, if you manage to make it work please let me know.

I’m thinking about crating a distro intended for live music performance - if Live MOD is a serious thing on it’s own (not only a testbed) such functionality would be a great thing.

I’ll let know if I manage to get it working with the standard casper-rw.

1 Like

A proper live system will need more than just installing plugins and auto-run services.

I have some ideas on how to make the live-iso a lot better, based on some tricks we do on the MOD system.
For example, I made some patches in JACK to reduce the overhead of internals clients (no context switch ever happens), which because mod-host can be loaded as internal client, it takes full advantage of it.

JACK, plugins and host should be compiled with sse2 + fast-math, to make sure denormals can’t happen (done in kxstudio packages already).

The choice of desktop environment is very important (needs to be as light as possible), and the kernel too.
Would be nice to get a RT kernel working for this.

Because it’s a live system we can perhaps disable network, wifi and other stuff (even in the kernel).
Although now that we have http://pedalboards.moddevices.com I’d be nice to have it integrated.

falkTX - thanks for feedback!

I wonder if there’s a big enough interest among the Linux musicians to form a project aiming to create such a live music performace distribution.

I’m not a programmer, but I’m a musician and I want to take my Linux audio setup on the stage again without being afraid that I’ll have to reboot it in the middle of a song (re-typing password 3 times before the audience - I’ll never forget that concert).

In the beginning - it doesn’t matter how limited it is, the key factor is making sure it’ll never fail. I see no use of putting a ton of bleeding edge plugins and programs on Linux laptop and watch all that crash onstage. I prefer to work with what’s limiting me harshly, but makes me sure I can perform with it in front of people and it won’t fail.

Also - I feel that all the components are there in the Linux world however it requires savvy people to take care of that and a lot of testing. I could provide testing if anybody would be interested in making such an effort.

There are a few music production distributions, but the closest to a live music performance one is LiveMOD - which looks like promising starting point - and MOD Duo is a great proof of concept. Linux can run live audio onstage and be rock-solid on that.

More technical stuff now:

Can Carla make use of the MOD JACK optimizations? Could it be a reasonable option as a main workhorse for a live music setup?

Hey all,

I see the need for an optimized on-stage distro too, and totally agree with the “bare-bones” but stable approach. There are a number of interesting projects taking this idea and applying it to live DJing, particularly with Mixxxx: http://www.nongnu.org/crossfade/ http://didjix.blogspot.com/ http://www.mixxx.org/wiki/doku.php/portable_mixxx

Really we (the Linux Audio community) need to try and focus some of these efforts into a singlularity - because duplicating live system testing/benchmarking just isn’t going to happen. And if its not tested, its not stable : end of story.

Lets see if / where / nowhere this goes :slight_smile: -Harry

[OT Rant] Back in the day, 64 Studio 2.1 (kernel 2.6.x - that was a long time ago…) was the one of the best ISO’s I’ve ever run. RT kernel, no glitches, rock solid 2.x ms realtime performance with a FFADO based Echo Audiofire. I’ve attempted (and failed) to set up such a system since.

1 Like

For the MOD Live-ISO you can find the source code here:

contains the fork of ‘twindy’ window manager and a script to generate the ISO, although it probably doesn’t work anymore.

The next ISO we’ll make will be based on Ubuntu 16.04 + KXStudio repos, with a special package for jack.
A lot of stuff is now outdated in the kxstudio repos, I hope to update most of it during holidays.

An RT kernel would be nice to have, but at this point I still don’t know how to create proper deb packages out of it.
(needs to be similar to the official Ubuntu ones so that the live system works)

Oh and to answer the other questions.

  1. Using carla
    Maybe possible, but the setup for the live-iso is not good for it. Carla uses multiple windows which doesn’t fit on the WM there. Also Carla doesn’t have midi-learn yet.
    An idea could be to have the main view and add-plugin always visible, then have the rest as floating windows. Or just use a different WM altogether.
    In either case, it’s not as straight forward as the current live-iso setup.

  2. Focusing efforts
    I agree with this, but haven’t seen it happening in current distros too much, so I doubt a little that such thing will happen soon.
    Seems to me some developers don’t want to contribute much into generic solutions for all projects, but make their own (which I understand is a lot more fun).
    In any case, this live-iso uses the kxstudio repos, which is a sort of shared effort - just happens to be made by the same person that does the ISO too… :smiley:
    The changes I put on the kxstudio repos for live-iso will benefit everyone using it, so maybe my part on this is covered.
    I’m open to collaborate with others to create the most neat, stupid-simple, friendly live usage ISO possible. At the moment the best solution for this seems to be what’s already in place in the mod live-iso: you got a minimal interface for settings and jack + mod-host/ui running automatically.

1 Like

Hi, author of Crossfade GNU/Linux here. I’ve been focusing on contributing to Mixxx since publishing Crossfade and I’m not sure I’d be interested in spending much time contributing to whatever project comes out of this discussion, but I’d be happy to share what I learned in making Crossfade. I recently wrote a blog post about how I set up the partition table and bootloader to get it to boot any any x86 computer. It doesn’t seem like this project would have the same requirements for working with Windows, Mac OS X, and CDJs, but it would still be good to make one USB drive boot on any x86 computer. As detailed in the blog post, the trick is to use an MBR partition table with an EFI System Partition and install both a BIOS and EFI bootloader.

Also, the use of read-only root filesystems for live distros is a legacy tradition from the days of CDs. There’s no need for that anymore if your primary target is USB drives. As far as I can tell, there’s no issue using a normal read-write root filesystem on a USB drive.

1 Like

Making a bootable ISO (EFI and UEFI) is not that difficult if your base is Ubuntu.
They already figured out the hard stuff for us.
We just need to use the same command to generate the ISO file as they do, ie:
https://github.com/moddevices/mod-iso/blob/master/create-live-iso.sh#L262
(plus have the needed files in place, of course)

note that this system is a live-iso, not an installed one.
creating stuff that installs a linux system into a usb stick might be a good option now with usb3.0.

Yeah, it wouldn’t be very useful if you had to set it up from the beginning every time you booted it.

the current mod live-iso doesn’t have any setup needed.
just select your soundcard and perhaps the buffer size / sample rate.

persistent state is a different thing.
I know it’s possible using the ubuntu system. but needs to be figured out first.