Open Live Mixing System - Don't buy a mixer: do it instead

Thank @seablade for your feedback. I appreciate

You are absolutely right about the cost-effectiveness and the challenges of sustaining a project like this.

At this point, OLMS is less of a serious business venture and more of a passion project and an open architecture experiment. The initial business idea largely dissolved when the extreme difficulty of achieving genuinely professional, ultra-low-latency / zero x-run performance was fully realized.

However, the architecture remains fascinating, and we can’t predict what new low-level APIs or hardware tools might emerge in the future that could pair perfectly with this software core.

So, why not keep building it? I’ll see where the journey takes me.

Cheers!
Francesco

It is already possible in the current release.

It’s way to early too look into tech details; but if you want, there is…

Example Code

You can do this form the track’s point of view:

track = Session:route_by_name("Track 1") -- get Track 1
assert (track) -- ensure that the track exists
track:input():disconnect_all (nil) -- disconnect all its input ports 
track:input():audio(0):connect ("system:capture_10") -- connect first (here, 0 = left) input to the sound-card's 10th audio source.

or like JACK connect/disconnect, globally on engine level. e.g.

audioengine = Session:engine()
_, t = audioengine:get_ports (ARDOUR.DataType("AUDIO"), ARDOUR.PortList()) -- get a list of al Audio ports
for p in t[2]:iter() do  -- iterate over all  audio ports
  print (p:name())
  if p:name () == "Track 1/audio_in 1" then
     p:connect  ("system:capture_10")
  end
end

To test, you can urn both in Ardour Menu > Window > Scripting

PS. Loading partial state is somewhere on the ToDo list.
Ardour v9.0 includes a feature to set plugin/processor state, leaving everything else as-is.

2 Likes

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.

​Hi guys, I’m keep working hard on the audio engine startup process. It’s very difficult because I’m going di do it avoiding systemd and trying to do everything on a started and running machine.

The main challenge is we have 3 pieces which have to run together but with different privileges and starting users.

Asla, jack and ardour.

Very technical issues and solutions. In true I don’t know exactly everything. The main part is AI driven. I’m the ai chief. I’m like a music producer that feels music but isn’t able to explain musicians what to do because he’s not understanding music theory, chords, and so on…

I know what I want but I have no idea how to reach it. A lot of time is invested onto fails and bad ways… make, come back, try again.

Very bad developing practice, of course, but I had several refuse from professionals before trying by myself. Anyway, I’m playing and learning and I think I’m doing something good and valuable.

Some times things goes right, after 1 minute anything is working anymore.

Anyway… I’m at99% of a really important piece of this work: startup process running to start asla, jack and ardour all together in a very high performance high tuned machine.

This assure ardour will run in a real time kernel in the best way possibile to match live low latency mixing needs leveraging a standard PC that is my goal.

If anyone is interested enjoying my love developing olms chat you can find it here on telegram:

Here is the official website with got and every resource
(Do not look seriously at git for now… I’m going to reorganize file and fix translations and everything in a couple.of.days).
https://openlivemixingsystem.org

I’m going to keep working alone till the POC will be closed. Then for sure I’ll need some help from you guys.

All the best and thank you for support.

ALSA is part of the kernel, you generally do not have to “start” ALSA in the traditional sense of starting an application.

Ardour and jackd should be started as the same user or Ardour will not be able to use the JACK server.

1 Like

Thank you. I’m learning while running. Anyway… The problems were about to align asla, jack and ardour and of course it was a drama, especially because the RT privileges.:sweat_smile::index_pointing_at_the_viewer:

Did following the instructions in the jackaudio FAQ not work right away?
I suspect you would be better served by asking specific questions on linux-audio-users mailing list than trying to determine which AI answers are correct and which are completely fabricated.

1 Like

The truth is the best way to do what I’m trying to do is having a support from senior sysadmin. But I didn’t find it when I looked for and then a lot of dev told me they were not interested. So, this is my karma challenge: I’m going to achieve the Proof Of Concept by my blind trying. I’m sure I’ll achieve that. When I have that I’ll have something to let all you have a look working and maybe the project will be cooler and itself explaining. And at that time, I really hope to share developing with someone who really is a dev. I’m just a visionary and I like to try. But if I see right, the potential of this project is very very high, so I hope I’ll bring inspiration and find support and community to really build up powerful mixer. Thank you for your nice answering.

Ps: of course I’ll share with the world and LAU when my POC will be operative.