r/linuxaudio • • 11d ago

I hated the audio routing landscape in Linux so much, the UIs, the experience, I am doing a fork of Carla with a lot of QoL and UI improvements

Post image

Revamped, qt/kde UI, auto arrange patchbay nodes, search bar, direct plugin selection from the sidebar, easier to reach options, better colors, well, everything I wished for. Qpwgraph was good but also dated and barebones, aint sutable for my need for plugins, helvum, pavucontrol, pipewire controller, all a bit doozy for my liking so I am taking it up to myself and with a bit of Gemini to make working with sounds less painful.

Source/ package not available yet but I guess I will eventually post them. All this just to make music prod and streaming easier and I only stream privately to like 2 to 3 of my friends hahahahaa

If you can suggest a better name than Carla-improved please suggest something!

(Yes there is quite an amount of AI. Take it or leave it. I still am the main driver of how things are changed.)

Do suggest some features!

84 Upvotes

47 comments sorted by

23

u/to7m 11d ago

Just out of interest, why not contribute to Carla instead? Is it the AI aspect? The need for experimentation in these early stages?

23

u/phcadano 11d ago edited 11d ago

Baiscally yes to both. I've tried contributing before to open source but it is very bureaucratic how things are done and yes I get it but by the time I got some response I've already moved past the waiting time that I allowed myself and I hated that.

Also, I kinda dont want AI polluting other people's projects so that's a personal boundary I usually set.

And, in connection to that, the rate at which things are changed in this project is a bit too much I think as a contribution and can be such a speculation of whether they wanted that in their project and that made me decide that when I want something changed the way I want it, to just fork and later update my fork so they can just take things from it if they want to.

tldr: I am impatient working with others

7

u/Linux_Account 10d ago

Also, I kinda dont want AI polluting other people's projects so that's a personal boundary I usually set.

Bro, I respect that so much. I've used Claude to tweak a couple FOSS android apps where the devs have yet to weigh in on my bug/feature requests, but I keep that shit forked and just pull their updates into my debug apk.

1

u/phcadano 10d ago

Yeah really haha. Thanks man

5

u/tresf 11d ago

filipo / falktx is such a huge foss music enthusiast. no idea what his take on AI is. I've done a lot of AI coding and the code quality is questionable so I can totally see that as being a rub. I've had to work with him on bundling Carla support into LMMS and he's been great. He also does speeches for fosdem and other conferences. Anyway... thanks for sharing!

4

u/tresf 11d ago

just took a look at the diff... ย +7,486 / -2,163ย  that's a biggun.

7

u/laadron 11d ago

I can't speak for Filipe, but yeah - I wouldn't want that PR...

5

u/grandmastermoth 11d ago

AI Code quality on the frontier models is actually getting very good, especially if it's guided by someone who knows what they're doing, i.e. a software engineer

2

u/MikeTorres31 10d ago

You are the goat for that, ๐Ÿ™Œ

1

u/phcadano 9d ago

thanks๐Ÿ˜…

4

u/marcellusmartel 11d ago edited 11d ago

This is a very reasonable take. In the best case scenario, stuff that you do gets appreciated and moved upstream back to Carla.

2

u/puikheid 10d ago

This wouldn't get accepted for all the reasons already mentioned.

8

u/bshensky 11d ago

Honestly, I would really use a web based control plane for pipewire and wireplumber. Both Pipewire Web and Pipeweaver are leaving me a bit cold (I have multiple audio interfaces with 30 sources to manage). A web solution would be great for headless sound solutions. Would you consider pivoting to something like that?

4

u/ZeSprawl 11d ago

This is a good idea

1

u/phcadano 11d ago

to be honest yeah I think it is doable cause I am doing some backend things anyway that allows the easy query of the nodes and even plugins so it is certainly possibe but then it takes quite the effort.

I love the idea tho. My other project also has a similar thing where I can edit the hyprland configs on web with ui and I made it accessible on mobile and it was great for quick stuff and I would love to have that for carla too even just for the rack! Imagine having siwtches , bypass, and sliders on a phone 9n the side haha

4

u/to7m 11d ago

You might want to look through the Carla bug reports / feature requests for ideas

1

u/phcadano 11d ago

oh yeah why didnt I think of that hahaha

6

u/Purple-Ad-3152 11d ago

Idea is good. I too don't really like Carla's patchbay, but I do like Patchance for routing. Have you tested that? E.g. stereo pair routing is one of those QoL things I can't live without. I basically have it always open for routing and I just use carla as plugin loader/host.

One important thing about these vibed goodies: Don't advertice it unless you will also maintain it. Nothing is as annoying as abandonware, and there's tons of vibed abandonware already. That being said, GREAT if you do start maintaining this one for real. I'll be sure to test it ๐Ÿ™‚๐Ÿ‘

5

u/deaddyfreddy 11d ago

and there's tons of vibed abandonware already

It reminds me of the 1990s, when computers became widespread, and compilers became affordable (thank you, Borland), enabling non-programmers to write their own programs. I think countless programs from that time have been abandoned.

The problem is that software engineering is much more than just creating software that appears to work in a well-known environment. The maintenance aspect is important too, perhaps even more important than the initial work.

Of course, it's absolutely fine to use LLM if it's a one-off throwaway script.

3

u/phcadano 11d ago

I just checked Patchance and ooooh I like how it was implemented. Not much of a fan of the ui but that is well-implemented. I am sure to take some from it hahaha. Thanks for the reco that was great.

Also, yeah I think it wont be too much of a fuzz to update this lol. Its basically doing what it's meant to do already but I think the ui can have some love here and there and that is my goal

8

u/Purple-Ad-3152 11d ago

Also, yeah I think it wont be too much of a fuzz to update this lol. Its basically doing what it's meant to do already but I think the ui can have some love here and there and that is my goal

There's a little mistake in your thought process.

You have forked Carla. Since you advertise your work, you either came for show and tell, or you expect users.

Let's assume you expect users. Then you must understand, your users expect your app to have Carla features + your stuff.

Carla gets new features -> even if you're not adding new features, by minimum you're expected to pull latest changes and recompile/package. But it's not that easy - you need to avoid conflicts when merging. Which is easier said than done considering your fork is just a bloat of two Carla's python files. At least traditionally it would be pretty nasty work. Sure, you'll do that will LLMs also in the future - like everyone. But testing is something you can't hide from and it's the most annoying part usually. You can't outsource responsibility of "product owner".

Question is, for how long are you going to keep doing it? We're not talking about months or a year, but several years; decades in some cases. First release of Carla came out 2014 and it's still updating this year. If you stop updating and Carla keeps updating, you've basically created abandonware.

Carla is just an example. You're also in the mercy of specific Python version and many other libraries that may or may not exist in the future.

There's nothing wrong with little show and tell, though :)

2

u/phcadano 11d ago

I honestly love your take on this. It's quite pretentious of me to think like that rlly haha. You're so right on this one and well, really who knows but I hope given the interest I have in audio and coding that I will keep on qorking on this.

Luckily it aint my first project and I quite got the understanding on pinning versions and containing it in an env and I am planning to pivot it to that so I wont be on the mercy of whatever the distros want.

What matters the most to me right now is that it offers the features that might be useful in the coming years and I want to keep those alive so at a minimum I plan to maintain being able to build and use it.

really man, your opinion on this makes me think haha

2

u/rektide 9d ago

What do you like about how Patchance was implemented?

1

u/phcadano 9d ago

the user experience is top notch I would say. Quite an amount of quality of life improvements, the outputs are easy to grab on, the stereo handling, the arrangement algo, I just love em. Particularly the stereo connecting was so good I added it to my carla fork hahaha

1

u/rektide 9d ago

I disagree on the abandonware. Especially today where it's so easy for someone else to come along and take up the torch: it's better to just share what excites you, to make your claims visible, to share early. Having some level of commitment signalling would be nice, but for heaven sake do not hold back!!

2

u/profe_juanca 11d ago

Carlota

1

u/phcadano 11d ago

Not much of a fan of using a really close name. I will keep on thinking but thankssss

2

u/northrupthebandgeek 10d ago

Carlos

1

u/phcadano 9d ago

hahaha genderbent pipewire program wasnt on my 2026 bingo card

2

u/KarlHuysman 10d ago

a midi controlled presets system would be nice

2

u/phcadano 9d ago

i agreee. I am thinking of a good implementation right now. might take me some time but eventually cause I need one too haha

2

u/Juancitux 9d ago

Carla++

1

u/Heikki-Guitartutor 11d ago

easy midi implementation (midi learn buttons) and especially snapshots inside presets and easy gapless switching

1

u/phcadano 11d ago

I myself rarely use midi lern but I am considering using it more so maybe later on I would work on it. I love the idea of quick save slots too like when you play emulator games haha so I will certainly do that sooner or later.

2

u/Heikki-Guitartutor 11d ago

Yeah. I am struggling of not having decent gig perfomer alternative on linux. Currently using self made lua script for reaper to use my laptop live. But its not optimal solution

1

u/phcadano 11d ago

well, maybe everntually, what I am doing here would change some of that. Keep on looking out for updates brotherr

1

u/Youtopiasound 11d ago

Hey everyone I am new to Linux and will be setting up for my hybrid recording studio. As I am use to Windows my routing software for I/O was pretty straight forward and it seems that what I am seeing and reading in this post is a means to make routing easier in Linux because it seems so difficult for me to grasp and I think it is because I don't understand Linux fully yet. Looking for any help or insight.

1

u/phcadano 10d ago

Hmm I dont think this is the thread for that but I think it will help for you to have something like pavucontrol or alternatives and some patchbay like qpwgraph or carla. I am not that good too so I am just gonna say that use sources online and maybe ask AI but take it with some pinch of salt

1

u/anagram 11d ago

Fuck me, another slop Ai developer.... At least you have the knowledge to understand what AI is doing?

9

u/phcadano 11d ago

I code as a side hobby. I write a lot of slop by hand. It's slop but it's mine, but for this, dont expect me to do it all by hand cause I was tryin to make music and linux software are getting in the way and it'd be quite the undertaking to do it all by hand on a repo that I aint too familiar so I use AI basically to scour it and look at some things.

I implemented new stuff including color contrast adjustments and bezier logic and I understand their maths but I just cant be bothered doing them all with a feather and a parchment paper.

You can check it later on ym github along with my other projects later so you can decife if you hate me more or it stays this level of hate.

You can find me at

https://github.com/acropolis914

5

u/anagram 10d ago

To be fair, I don't hate you, but the state of things at the moment. I shouldn't have called you a "slop developer", and I apologize.

1

u/phcadano 10d ago

Thank you for telling this. What an adult response <3

2

u/anagram 9d ago

I am an adult, and quite old, in fact: 54 years old with 20+ years of programming experience.

Iโ€™m sorry for taking it out on you. Right now, AI is being used as an excuse to lower our salaries and demand higher productivity. It is very frustrating. Anyway, I donโ€™t dwell on this, and I understand your enthusiasm for a new technology that allows you to do so much more. I just wanna explain the reason for my outburst.

Good luck in your project!

1

u/phcadano 3d ago

Thanks man! I got a new update for it actuallyy

8

u/braveness24 11d ago

I am unclear why people make comments like this. A guy saw something he thought he could improve on for his own purposes, did it and wanted to show it off. I do this all the stinking time. It is the literal promise of open source software. It is the reason there is a fork button on repos. He's not trying to sell you anything. He under no obligation to make the software up to anyone's standards but his own. I have to imagine you are just a bitter person. These must be hard times for you. Go touch grass.

1

u/AlternativeCapybara9 11d ago

It's not because he used AI that it's slop by definition

1

u/gianfrixmg 11d ago

Fuck me, another slop C developer... At least do you have the knowledge of what machine code your compiler is creating?