Ask HN: What audio/sound-related OSS projects can I contribute to?

54 points by dedoem a year ago

Hey! I wanted to research the possibilities of participating in open-source projects, preferably related to audio or sound processing. Do you have any projects to recommend? Preferably ones that are either technically interesting, solve a useful problem or have lively community and are in active development.

I'm not specifying anything more (language, etc.), so that I can get as wide of a selection, as possible and so that this post is useful for others more.

Megranium a year ago

The Rust audio environment might need help, if you're into that:

https://rust.audio/

Maybe this might be worth a look, too:

https://plugdata.org/

It's a recent attempt to make Pure Data more accessible for less technically inclined users.

  • capableweb a year ago

    On that note, Bevy, a game engine in Rust, is looking to upgrade and improve how audio is being done in the engine, and they accept contributors of all skill levels, and are a very welcoming community :)

txbrown a year ago

Hey, why not join the Audio Programmer Discord where you can find many of the leading projects and much more? https://discord.gg/YbYGjtzz

I'd say from there you can pretty much reach out to the maintainers and go from it.

Another project that would benefit of more help is AudioKit. https://discord.gg/y6fKdWR7

I'd say most modern audio based apps on iOS / macOS are likely using it, although JUCE is the leading framework for audio dev.

The rust community also seems to be booming around DSP.

  • aa-jv a year ago

    Another vote for the Audio Programmer Discord - this is such an amazing community of audio nerds, you'll find your comfort zone pretty fast, I bet.

goldfeld a year ago

Not a project itself, but anyone can receive The Generative Review[0] where I do exactly this: collect twice a month open source projects that welcome new contributors through simple initial tasks, every installment is themed around a language or topic, and one of the next months' topics is audio programming and AI audio and music, it is sent by email, so soon enough you could have audio OSS repos to check and contribute to (the linked installment was themed around vim, the next will be emacs plus AI and will have the first batch of open source tasks for anyone to help).

[0]: https://generativereview.substack.com/p/chatgpt-review-my-co...

CasperH2O a year ago

I work on an open source application for which we're looking for someone who knows how to analyze computer game audio which can then be converted to game pad controller haptic/vibration feedback. Basically to get rumble support for "old" games that did not natively have this.

Project: Handheld Companion (https://github.com/Valkirie/HandheldCompanion)

notpushkin a year ago

If you're into embedded stuff, some friends of mine are working on an STM32-based guitar processor: https://github.com/RATsynthesizers/FXcursion

It's not ready for random contributions just yet I believe (needs a lot of refactoring, plus the hardware isn't finalized yet) but we're open for suggestions!

aa-jv a year ago

JUCE:

http://juce.com/

Tracktion:

http://tracktion.com/

Both very powerful audio frameworks - JUCE does plugins and audio drivers and low-level DSP, oh my - and Tracktion does all the stuff a DAW needs, on top of JUCE.

There are tons of ways to contribute, from building open source samples, to testing, or even adding functionality. Both dev teams are open to good quality PR's being submitted and both frameworks have excellent communities that will get you started: http://forum.juce.com/

These are cross-platform tools which offer Audio developers an extremely powerful toolset. By contributing to either (or both) frameworks you will be massively contributing to the audio world - so many plugins use JUCE these days!

EDIT: see, also, awesome-juce - pick a project from this list to contribute to, according to your interests ..

https://github.com/sudara/awesome-juce

  • EntrePrescott a year ago

    JUCE is a dual-license commercial product though: Apart from a small ISC-licensed core, it's GPL or commercial. While I totally respect the decision of the JUCE developers to want to make a living out of their project and to adopt a licensing scheme that is in line with that goal, It would be a disqualifying criterion for me if, like OP, I was looking for an open-source project to dedicate a non-small amount of my own time for unpaid voluntary work. I might send them a patch if I need a fix to a problem that I can quickly solve ad-hoc and that I don't want to wait for them to fix, but I wouldn't want to pour significant amounts of my own time into unpaid voluntary work that they get paid for.

    • aa-jv a year ago

      That's a fair point, and I guess its weighed in my balance by the fact that I'm contributing under the GPL but also doing commercial work with it (plugins) as well, so for me its quite a win-win situation. I have no problems contributing to the framework I'm also using extensively ..

      • EntrePrescott a year ago

        > its weighed in my balance by the fact that I'm contributing under the GPL

        Are you sure you're contributing "under the GPL" though? It's common for such dual-license commercial projects to demand (lest contributions be ignored and not integrated) of external contributors that they agree to a Contributor License Agreement, which grants the dual-license commercial project the right to sublicense the contribution however they please… as opposed to being bound by the terms of the GPL like you would for their code. In the case of JUCE: https://cla.juce.com/

        So it's really a totally asymetric situation:

        * for their code: you either pay them a hefty price for a commercial license… or you only get it under GPL terms and thus have to release your own code using it under GPL as well (which effectively thwarts most monetization options for your work)

        * for your contributed code: they don't pay you and (unlike the other way around) are NOT bound by the GPL but can sublicense your code however they please… and of course they make money with it, you don't.

        Now I'm not saying that that would totally hold me off from contributing. It wouldn't bother me for small ad-hoc patches that I don't want to wait for them to fix. But it sure would be a disqualifying criterion for me when it comes to pouring in significant time of unpaid voluntary work. For that, I'd look for a more community-based project on an equal footing. But then again, to each their own criteria and evaluation.

        • aa-jv a year ago

          >release your own code using it under GPL as well

          Yes this is what I'm doing - although there are a lot of ways GPL'ed software can nevertheless still be used to generate revenue ..

          >For that I'd look for a more community-based project on an equal footing.

          I've found the JUCE community to be quite supportive, very knowledable and for those who don't want to pay the small license fee, the GPL requirement has been enough to produce a lot of great projects. The OP would be well-advised to inform themselves:

          http://github.com/sudara/awesome-juce

jcelerier a year ago

Happy to introduce you to https://ossia.io there are a lots of tasks open! You can check the projects for the general development axes: https://github.com/ossia/score/projects?query=is%3Aopen ; e.g. Audio, Musicality, Integrations, JACK & Linux integration (some are in Classic projects mode) all have audio-related tasks, some easy, some hard.

Creating new Avendish plug-ins (docs: https://celtera.github.io/avendish/) could also be fairly useful, here's a very basic example one: https://github.com/celtera/avendish/blob/main/examples/Advan...

Moggie100 a year ago

If you're into the embedded/edu/stem/steam space at all, the micro:bit v2 codebase for audio is being integrated more widely this year, and expanding our audio processing components might be a fun, bounded project if you want something smaller, but reasonably high impact?

See https://github.com/lancaster-university/codal-microbit-v2 for the ecosystem, or https://github.com/lancaster-university/codal-core/tree/mast... for the relevant section of the API.

If you're interested do feel free to suggest stuff via feature suggetions and such on the issue trackers, and PR's welcome :)

trollied a year ago

The Awesome Live Coding list on Github would be a great place to start: https://github.com/toplap/awesome-livecoding/blob/master/REA...

  • Megranium a year ago

    Hehe totally, even though it's a bit overwhelming ... I've been active in live coding scene for years now (and my little language is on that list), yet I still don't know all of these ...

    But I guess there's something for every language and skill level there ...

rasz a year ago

Like vintage computers? https://github.com/crazii/SBEMU Sound Blaster emulator running on modern PCI/AC97 sound cards. Involves sound, deep knowledge of x86 CPUs (VM86/virtual and protected modes, memory protection, supervisors, privilege levels, trapping IO/IRQa, x86 CPU quirks), DOS and plenty of testing using 20 year old games.

52-6F-62 a year ago

I’ve been working on some educational/toy projects for self hosting an audio streaming website.

Wasn’t quite ready to put this out there, but it might be on topic.

The first release is decidedly simple but maybe you can see where I’m going with this, and happy to talk about future plans and some other stuff under way

https://github.com/burns-fm/pl-10

Excited to see what else pops up in this thread.

ofalkaed a year ago

MuseScore and Qtractor would probably be good, Ardour takes all the attention away for linux/OSS DAWs and the MuseScore and Qtractor communities suffered from it but are still very active and great projects. LMMS is fun and could use the help more than most of the other big projects.

eternityforest a year ago

PipeWire is still new-ish(Edit: mobile keyboard autocorrected Jewish) and has a few things to work out,I'd say it definitely solves a useful problem and it appears to be the future of sound on Linux.

jvilalta a year ago

You could look at Mixxx.