God Save Pipewire

Just as a final note, I feel that I should clarify one thing I wrote here. There are in fact lots of different levels of audio API on macOS (and iOS) that an application developer could choose to use. But they are all built on top of the underlying CoreAudio API. This is also mostly true of the libraries that a developer could choose to use on Linux for audio I/O, in that ultimately most of them end up using ALSA.

But the critical part of the puzzle is the difference between server/client systems and simple libraries. On macOS, there is one server/client system blessed by Apple, and that’s coreaudiod, which makes possible device sharing (but does not allow for inter-application audio on macOS). On Linux, in 2021, we’ve got the pulseaudio server, the JACK server and now emerging the pipewire server (which is not a new protocol, but a reimplementation of existing ones). The fact that Pulse and JACK do not fulfill the same goals is the root of the issues on Linux (but do note that Pulse fulfills little-used goals that coreaudiod does not even attempt, like networked audio).

I just wanted to correct the impression I may have left that if you looked inside an macOS-native audio-using application you would always find the same API. You might find a wide variety of APIs across different programs, but they are all built on top of CoreAudio, and all audio flows involve the coreaudiod process.

2 Likes

I"m more of a newcomer, but I often play a Youtube video tutorial of how to achieve something in Ardour, while at the same time I use Ardour to do it. That’s where I have had that issue. I sometimes just switch to Alsa but it’s a pain to toggle back and forth. Sometimes I just watch the video on a tablet and use the desktop just for Ardour. It seems like we can do better than that.

2 Likes

@vivantart1 did you install a low-latency kernel?..

Yes, but a rt kernel. Now 5.10.0-4-rt-amd64 is installed.
I’m in the Debian side at this moment, but I used to work with low-latency on Ubuntu.

“Why would you want to watch youtube while recording or mixing or working on a production?”

I have that all the time: I keep my session open in the studio in breaks or when I work on other stuff, then also sometimes i look for inspiration for a mix, for a tutorial, etc .etc i would definitely never do that on recording, but mixing, yes. The alternative would mean having a separate computer setup just for browsing and youtube. this is ok in a big and “only sound” studio but not the reality i know from productions and media companies i work with …

1 Like

Window > Audio/MIDI Setup > [Stop]


youtube

Window > Audio/MIDI Setup > [Start]

In the absence of the sound server to serve all, which hopefully pipewire will become, you either to run JACK or do the above.

3 Likes

Please can you move the audio / MIDI setup to the preferences menu? Instead of the ‘Window’ menu (I’ve lost a lot of time to this on several occasions… I hesitate to use the word ‘intuitive’ :slight_smile: )

That is already planned for a later version.

Right now it is required because:

  1. Ardour sessions have a fixed sample-rate
  2. Sample-rate needs to be set when creating (or loading) a session
  3. The soundcard needs to support this sample-rate
  4. Ardour needs to know which soundcard is to be used, to query what sample-rates are supported
  5. So the user needs to specify the soundcard (and rate) to be used early on

Once Ardour can resample I/O and has a rate-independent session time representation this is no longer needed.

However since Ardour exposes internal routing it may still be relevant to ask a user early on which backend/device to use. Otherwise there is the risk of loosing connections when loading some sessions. Preferences are only available at a later point in the application’s life cycle and not useful here.

Anyway, it won’t help for the case at hand. Preferences are for setup (select device, rate). Having actions (Stop I/O) there is not great interface design.

1 Like

OK, I’m confused - I understand that all of that is quite deep in ardour’s architecture, but if I can already go to

Window->Audio/MIDI Setup,

then why not just make it

Preferences->Audio/MIDI Setup instead? I just want the thing I have to click on to be in a more ‘intuitive’ location (for any definition of the word intuitive, Window is surely not an intuitive* place for Audio preferences…) or is that what you mean is already planned for a later version?

*"using or based on what one feels to be true even without conscious reasoning; instinctive."

Frankly, this is not something that bothers me. I find the usual way quite functional.
I find it extremely quick and easy to change the settings and I really don’t like the way it works in Reaper, for example.

1 Like

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