C++ Music

Open-source C++ projects categorized as Music

Top 23 C++ Music Projects

  • Sonic Pi

    Code. Music. Live.

    Project mention: I Need to Grow Away from These Roots | news.ycombinator.com | 2024-01-28

    Something fascinating about seeing a 'score' for generative music written out as a sort of specification like that.

    There's enough detail there that you can take those instructions and reimplement your own version of it, and you'll end up with essentially the same 'piece of music', but certainly a different interpretation of it. Because while the score lays out some details precisely, it leaves other choices less clear. What does 'all inversions' really mean when enumerating chords? Does it include open, spread voicings? What durations should we choose from for our random waveforms? How short is 'short' when deciding to repeat? And of course, what wave synths should you use, and how should you modulate them?

    All those are similar to the decisions a traditional instrumentalist makes when interpreting a sheet music score for performance - here, a generative music coder can follow this 'score' and produce a program that represents their own interpretation of the piece.

    Coding it up in Sonic Pi (https://sonic-pi.net/) was a fun exercise, and I feel like I was able to produce something along the lines of what the composer intended. It carries the same kind of mood that the recording in the video has. But it's my own 'performance' of the work, if that makes sense (even if it's actually Sonic Pi 'performing' it at runtime...)

    All of which got me thinking about the relationship more generally between specification, and implementation. Considering different programmers' implementations of algorithms as individual 'performances' of scores from the overall design - and then thinking about developers building elements of a larger system architecture as individual performers working to deliver their part of the performance as part of a band or orchestra. Some groups, maybe they're directed by a conductor-architect; others maybe are improvisers, riffing off one another and occasionally stepping up to deliver a solo. And some are maybe solid session performers, showing up and delivering strong but unflashy performances to a producer's specification.

    So overall, a nice meditative coding exercise for a Sunday afternoon, and a shift in perspective. Thanks for sharing it.

  • lmms

    Cross-platform music production software

    Project mention: Studio One 6.5 is now available as public beta version for Ubuntu Linux | news.ycombinator.com | 2023-11-26
  • JetBrains Dev Survey

    What’s up with the C++ ecosystem in 2023? JetBrains Developer Ecosystem Survey 2023 has given us many interesting insights. The Embedded (37%) and Games (39%) industries are already working with C++20, developers are incorporating static analysis in their CI, and ChatGPT usage among coders is flourishing. Read on for more!

  • Snapcast

    Synchronous multiroom audio player

    Project mention: Why is Spotify not implementing this? | news.ycombinator.com | 2023-07-31


    Works perfectly on pis scattered around the house.

  • supercollider

    An audio server, programming language, and IDE for sound synthesis and algorithmic composition.

    Project mention: Recreating the THX Deep Note (2009) | news.ycombinator.com | 2023-09-03

    Link to the audio programming language / server they're using in the article: https://github.com/supercollider/supercollider

  • mixxx

    Mixxx is Free DJ software that gives you everything you need to perform live mixes.

    Project mention: Ask HN: Looking for a DJ Program | news.ycombinator.com | 2024-01-05

    Mixxx is excellent and has pretty wide hardware support.

    FYI the "limited" functionality of Rekordbox can be hardware unlocked with some Pioneer controllers.


  • Clementine

    :tangerine: Clementine Music Player

    Project mention: .flac music players for mac with options for exclusive mode | /r/mac | 2023-06-05

    Try Clementine -> https://www.clementine-player.org/

  • essentia

    C++ library for audio and music analysis, description and synthesis, including Python bindings

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

  • OTTO

    Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP] (by bitfieldaudio)

    Project mention: Bitfield Audio – Teenage Engineer OP-1 Inspired Synth | news.ycombinator.com | 2023-04-27
  • strawberry

    :strawberry: Strawberry Music Player (by strawberrymusicplayer)

    Project mention: How iTunes Is Changing on PC | news.ycombinator.com | 2024-02-08

    Assuming you mean the pre-2.0 Amarok, you might be interested in Strawberry: https://www.strawberrymusicplayer.org/

    It's a a fork of a fork of the old Amarok, supporting more features and modern support while retaining the original UI.

  • mpd

    Music Player Daemon

    Project mention: MphpD - A PHP library for MPD | /r/PHP | 2023-07-20

    Last week I released v1.0.0 of MphpD - a fully-featured, dependency-free PHP library for the Music Player Daemon. It's my first take on a library so feedback and suggestions is very much welcome and appreciated.

  • furnace

    a multi-system chiptune tracker compatible with DefleMask modules

    Project mention: FLaNK Stack Weekly 11 Dec 2023 | dev.to | 2023-12-11
  • giada

    Your Hardcore Loop Machine.

  • sonobus

    Source code for SonoBus, a real-time network audio streaming collaboration tool.

    Project mention: Voicemeeter Banana Replacement in Linux | /r/linuxaudio | 2023-12-08

    Sounds like you could use https://sonobus.net/ and possibly https://vdo.ninja/ but you might have that already covered with jitsi.

  • q

    C++ Library for Audio Digital Signal Processing (by cycfi)

  • hydrogen

    The advanced drum machine for Linux, macOS, and Windows (by hydrogen-music)

    Project mention: Where do I find the old default drumkit for Hydrogen | /r/linuxaudio | 2023-06-05

    The default drumkit is GMRockKit. Here is a link to the Hydrogen project's git repository (GNRockKit) https://github.com/hydrogen-music/hydrogen/tree/master/data/drumkits

  • LMS

    Lightweight Music Server. Access your self-hosted music using a web interface.

    Project mention: Plex/Plexamp music tagging system is broken | /r/PleX | 2023-05-17

    For those that dont know if you add an album that has multiple album artists ( artist 1;artist b) then plex/plexamp instead of showing the album in both artists pages and showing both artist tags as clickable (same way EVERY streaming service is serving music right now) it populates a new artists page named "artists a;artist b". They keep adding trash features that none cares about or even asks and don't even have a basic feature that projects like Lightweight Music Server already have.

  • zynaddsubfx

    ZynAddSubFX open source synthesizer

  • Soggfy

    Spotify ogg dumper

    Project mention: Is there any spotify mod that lets you download songs that can be listened offline? | /r/Piracy | 2023-04-01

    spotify dl (just saves the stream): https://github.com/Rafiuth/Soggfy

  • DaisySP

    A Powerful DSP Library in C++

    Project mention: Ask HN: Manufacturing somewhat novel MIDI controller | news.ycombinator.com | 2023-11-10

    You are about to bite off a lot. Ignore all the other advice in this thread, I do this for a living.

    You have some software experience, this is good. Assuming you have embedded software experience (which is essential for what you are doing and not at all like web programming) you have a foothold to finish this project without going completely insane.

    Hardware is a completely different beast. With software everything happens in your head and when you get stuck you can usually think your way out of it. With hardware, you really do need to learn to do things meticulously and step by step. There are many things that can go wrong. You will learn a lot on this journey.

    Don't be afraid to ask for help. Finding a hardware community will be essential to do this as you learn the skills you need. You're going to make a lot of mistakes, best to go in embracing it

    A good place to start is to join an open source community for MIDI. Two off the top of my head is http://www.ucapps.de/ for MIDI specific hardware and https://www.electro-smith.com/daisy

    A large amount of the work you will find yourself doing at the beginning is just figuring out where and who to ask questions about things like the keybed and other hardware issues. None of this is terribly 'hard' but none of it is easy. Most of it comes from experience.

    It is almost always best to use someone else's product when you are designing your first. Roger Linn (https://www.rogerlinndesign.com/) gave me some fantastic advice a couple years ago when I was trying to design switch caps: "Do you want to be a company that designs switch caps or one that designs synthesizers?" and that stuck. I don't want to design switch caps, so I bought them off the shelf, contracted someone to design my own, and moved on.

    So to that end... just buy a couple keybeds from Fatar or someone else, or just grab a synth you already have or buy one off ebay and harvest the keybed from that (often times much cheaper than buying direct!)

    Don't be afraid to spend money on tools. If you find something difficult, like soldering, I have not once regretted spending money on better tools. They grow with you and save you hundreds if not thousands of hours of unnecessary frustration. When you know you need a tool, find a way to get it.

    Maybe I should make a blog post about this... hmm

    Hope that helps!

  • calf

    Developers repository of Calf Studio Gear. Expect some issues when using it for production.

  • tuna

    Song information plugin for obs-studio (by univrsal)

  • powertabeditor

    View and edit guitar tablature.

  • Fire

    This is a distortion plugin developed by Wings!

    Project mention: Slept on Plugins/Brands? | /r/audioengineering | 2023-05-23

    Try this one. Crazy how good it is for free https://github.com/jerryuhoo/Fire

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-08.

C++ Music related posts


What are some of the best open-source Music projects in C++? This list will help you:

Project Stars
1 Sonic Pi 10,399
2 lmms 7,396
3 Snapcast 5,611
4 supercollider 5,115
5 mixxx 3,951
6 Clementine 3,600
7 essentia 2,626
8 OTTO 2,609
9 strawberry 2,337
10 mpd 2,017
11 furnace 1,776
12 giada 1,564
13 sonobus 1,361
14 q 1,048
15 hydrogen 958
16 LMS 932
17 zynaddsubfx 893
18 Soggfy 772
19 DaisySP 764
20 calf 648
21 tuna 591
22 powertabeditor 494
23 Fire 433
The modern API for authentication & user identity.
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.