Free Open Source Audio Routing for MacOS / CoreAudio

As a producer and musician, I’ve personally had the problem of trying to route audio from one device to another on my Macbook. On Windows, software like voicemeeter makes this possible for free but there doesn’t appear to be a free / open source alternative for MacOS.

I want to fill that gap, but will almost certainly need some help with it. RouteKit will hopefylly be the FOSS equivalent to software like Audio Hijack / LoopBack for everyone to use freely on their Mac.

The project is already available on GitHub and is licensed under the MIT License (may change based on JUCE licensing rules) and can be found here

Hopefully the community here can help this software become a reality and we can add some more functionality to the already great audio ecosystem on MacOS! If you have any suggestions or ideas, here is the place for them!

Although not super configurable you may like to check out Soundflower

Soundflower is awesome, not gonna lie. Personally, my main issues were things like live monitoring and more complex audio routing, but as well as that, Soundflower doesn’t support M1 which is a huge downside.

EDIT: another small note is that the last commit was in 2021, so the likelihood of it springing back to life is low

1 Like

sound flower became blackhole on one fork and loopback on the other, didn’t it?

there’s black hole. its most recent commit is two days ago.

(I use loopback personally but understand the desire to use open source software)

1 Like

I had a look at your repository and I got the feeling that you might underestimate the work needed to make that work. I don’t want to demotivate you, but I wanted to share some honest thoughts and feedback.

First of all, I see a repository, containing a .jucer file and a checked in build folder. When using project generation tools like the projucer or CMake, it’s common best practice to only check in the project file and generate everything else on the build machine. This gives me the impression that you probably haven’t got much experience in managing real-world software projects developed by multiple people, because otherwise you would have probably set up a repository in a way that is common for such projects.

Second I see that you have chosen a JUCE application as your starting point. What you are planing definitively requires you to write some kind of CoreAudio driver. JUCE is an application framework and not really the tool of choice to build a driver. You could of course build a user interface for that driver using JUCE, but this would probably not be the starting point. This gives me the impression that you might have started your journey as a programmer with JUCE, maybe implemented one or two plug-ins but haven’t got much experience programming stuff without JUCE, so your choice was starting with JUCE simply because you don’t have experience with any other approach. Some basic research might have revealed that you probably could have started with e.g. this Apple example and could have made you start with a plain C project instead of a JUCE based application.

With all that in mind I then see that you sketch a roadmap in your Readme where you claim a feature complete implementation in April 2024 and then ask the community to join your project and make it happen.

I highly doubt that you will find contributors with the required skill set to let this roadmap become reality if you as the project maintainer don’t give possible contributors the feeling that you a) have a solid technical understanding of what is needed to implement an audio driver like that and b) have some experience maintaining software projects following industry best-practice.

Sorry if this feedback might sound a bit harsh to you. I don’t want to demotivate you, I rather want to share this because I think that it’s a good time for you to re-evaluate some choices now before investing a lot of time into an approach that might not lead you to your desired goal. After all, this projects sound like a cool project, challenging but definitely fun, so go for it :wink:

2 Likes

Heya! thanks for the feedback, and no worries about sounding harsh!

You’re hitting the nail right on the head by guessing I’m a beginner when it comes to industry standards. As for my choice to use JUCE, i think i got a little bit misled when i opened Audio Hijack on my Mac and saw JuceApplication sitting in the activity monitor. It never occurred to me that it could just be the UI for an actual audio driver! (Thanks for the apple example by the way! it will definitely help)

I’m definitely going to re-evaluate a LOT of this project now and I’m grateful for the feedback since it will definitely save me a lot of head scratching later down the road

1 Like

thanks for the heads up! This my end up being my go-to for now!
I’m still gonna try learn how to make my own driver for fun but this will definitely help me a bunch!

1 Like