Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's not quite as easy as on macOS, but then again, macOS doesn't offer interapplication audio routing (the "JACK part of Pipewire"), so the comparison is not entirely fair. Pretty close though.


Pipewire allows any app to be an element on a patchbay: https://gitlab.freedesktop.org/ryuukyu/helvum


I know what Pipewire does ... I wrote JACK :)

I was describing what macOS does not not allow, and that's routing audio between applications. When I say that, I don't mean that it is impossible - there are numerous tools (including JACK) that will allow it - but it doesn't come with just CoreAudio itself.


Thanks for writing Jack! I love the fact that I can play something in vmpk, render using qsynth, process in rackarrack and record directly in audacity. The routing feature alone sets Linux apart from the competition and I'm happy it influenced pipewire to implement it.

Linux is already deployed in some commercial daws and it will soon be an RTOS. Hope music production will have more and better options because of this.


There have been "RTOS" versions of Linux for more than 20 years. The current mainstream kernel already includes almost all of the RT_PREEMPT patch set that makes it more or less an RTOS if you want it to be.


Echoing the parallel comment, if you're willing to get your hands into the guts, you can get amazing "RTOS-like" audio performance out of linux. I love pushing the limit of how low latency can get. Start with the PREEMPT_RT patches, be sure your irqs for audio are prioritized right, then experiment with pinning individual processes to specific cores, as well as locking their address space in memory.


Thanks for writing JACK! I'm curious what you think of PipeWire, feel free to be opinionated.

I'm also a low level audio/midi dev (tho far less prolific, and less public) and having seen how you architect things, and your code, I'd value your opinion.


There's a low-latency, free/OSS driver to do this.

MacOS is a little confusing with it because you have to configure it in the MIDI setup utility, but it works very well.

Not to mention commercial product from Rogue Amoeba which is fantastic.


And now I feel like an idiot for posting this having read who you are


It does help the rest of us though. I'll also mention for the same reason that there was a thing called ReWire on Windows, not sure what became of it.


Rewire is fairly different. It still exists, and also existed for macOS too. But to use it, applications have to be explicitly coded to use it (and linked against the rewire SDK).

That's quite different from JACK, SoundFlower, Hijack and the innumerable other inter-application audio routing systems for macOS, which can be used without the applications knowing anything about them.


The functionally named but utterly undescriptive GraphEdit, which was at some point part of the DirectX SDK allowed you to build arbitrary pipelines (that normally you'd have to configure via code in your app) for input/output of multimedia data. I haven't done directX programming in over a decade though so I have no idea if it's comparable to ReWire, but GraphEdit was an unsung hero back when I was.


The DirectX SDK in this respect is like GStreamer on Linux: it allows an application to build arbitrarily complex pipelines for data processing. Emphasis on within the application.

However, it did not and does not provide for inter-application audio/MIDI routing, which is what tools like JACK, Rewire, SoundFlower, Audio Hijack and others are all about.


In some situations you’d be accused of mansplaining




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: