Top 23 C++ Music Projects
Code. Music. Live.Project mention: When somebody asks you what language you code in: | reddit.com/r/ProgrammerHumor | 2021-11-30
Cross-platform music production softwareProject mention: MIDI export problems | reddit.com/r/lmms | 2021-12-02
Run Linux Software Faster and Safer than Linux with Unikernels.
An audio server, programming language, and IDE for sound synthesis and algorithmic composition.Project mention: CPU Pinning and CPU Sets | news.ycombinator.com | 2021-11-29
The Supernova audio server (https://github.com/supercollider/supercollider/tree/develop/...) pins each thread of its DSP thread pool to a dedicated core.
Synchronous multiroom audio playerProject mention: Apple Music is the last library focused music service | news.ycombinator.com | 2021-12-01
I still pay for it... but only barely. It's a sad shadow of GPM, which was much more to my liking.
If you want to avoid their awful web UI there are options. There's a decent, standalone, GUI YTM application for KDE  which I've used. Doesn't support logins, but if you just want a player it works well. There's also a plugin for Mopidy  that lets you listen through your MPD / snapcast  server, but that's more fiddly.
:tangerine: Clementine Music PlayerProject mention: Which music players exist which are currently still developed/maintained and have a GUI? | reddit.com/r/linuxquestions | 2021-11-30
https://github.com/clementine-player/Clementine (for a long time, however, only RC releases have been published and not final versions)
Mixxx is Free DJ software that gives you everything you need to perform live mixes.Project mention: Beginner's question - Serrato or Rekordbox? | reddit.com/r/Beatmatch | 2021-11-29
for fun? open source https://mixxx.org/ !
Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP] (by bitfieldaudio)Project mention: Piecing together an OP-1 from parts? | reddit.com/r/synthdiy | 2021-06-16
This was born as an accessible replacement: https://github.com/bitfieldaudio/OTTO
Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Music Player DaemonProject mention: Let's make a definitive guide to the subtle differences in Self Hosted Music Streaming. | reddit.com/r/selfhosted | 2021-10-01
Others: Ampache, Mopidy, Koel, Music Player Daemon (MPD), Lightweight Music Server (LMS), Serviio. I'm not saying these are bad, I just don't know what sets these apart from the "Generic Music Server"
:strawberry: Strawberry Music Player (by strawberrymusicplayer)Project mention: Which music players exist which are currently still developed/maintained and have a GUI? | reddit.com/r/linuxquestions | 2021-11-30
https://github.com/strawberrymusicplayer/strawberry (fork of clementine)
Source code for SonoBus, a real-time network audio streaming collaboration tool.Project mention: Super low-latency jamming over the internet | news.ycombinator.com | 2021-10-23
I'm guessing that most people reading this are not familiar with some of the other options available for this kind of thing. In particular, they likely don't know about Sonobus:
(and that's likely because it's libre software and the developer doesn't really do marketing)
ZynAddSubFX open source synthesizerProject mention: Idiomatic way to execute code at a sample rate? | reddit.com/r/rust | 2021-08-28
I suggest that you look into open source audio synthetizers (like https://github.com/zynaddsubfx/zynaddsubfx) to see the approach they use.
C++ Library for Audio Digital Signal Processing (by cycfi)Project mention: Declarative, non-intrusive, compile-time C++ reflection for audio plug-ins | news.ycombinator.com | 2021-10-31
Lightweight Music Server. Access your self-hosted music using a web interface.Project mention: Let's create an overview of selfhostable music servers! | reddit.com/r/selfhosted | 2021-11-27
LMS refers to lightweight music server maybe that should be more clear in the table, i'll make a PR for that later
A Powerful, Open Source DSP Library in C++Project mention: Best sounding reverb? | reddit.com/r/modular | 2021-09-19
Nintendo NES sound file NSF music playerProject mention: Sound of the 2C33: The Famicom Disk System | news.ycombinator.com | 2021-11-13
To elaborate on how frequency modulation "gives the triangle wave a grittier sound", FDS's FM and Yamaha's phase modulation produce sidebands, or extra frequencies, at (harmonic * carrier frequency ± n * modulator frequency). The intensity of each sideband is proportional to FFT(carrier)[harmonic] * f(n) (for some odd f involving Bessel functions and FFT(modulator), which is zero for large |n|, and the number of nonzero n increases as the modulation index increases). In this case, the modulator frequency isn't a small rational factor of the carrier frequency, creating gritty inharmonic sidebands.
As an example of FDS FM, you can look at this video (https://www.youtube.com/watch?v=Tgu1mCBU2vA) describing FM emulation errors in older versions of FamiTracker, and how some chiptune songs are incompatible with the more accurate emulation core I imported into Dn-FamiTracker.
FDS FM is the chip's defining characteristic in modern chiptune, though it was sadly barely explored by official games in the console's original lifespan (aside from being used as vibrato). The only game I currently know which used FM at audible frequencies was Bio Miracle Bokutte Upa (https://www.youtube.com/watch?v=_alQrPMNBT0), which also required cycle-accurate console emulation and would otherwise degrade into inharmonic chaos (like the "FM emulation errors" video above). Unlike regular FM on Yamaha sound chips, the FDS allows you to use complex carrier wavetables. Combined with how the modulator is naturally slightly detuned from the carrier (due to hardware rounding errors), this results in growling evolving sounds as the waveform stretches and squeezes in the time domain, and harmonics and sidebands beat in and out of phase in the frequency domain.
Strangely, the FDS's modulator doesn't draw from an array of samples like the carrier waveform, but instead an array of 3-bit delta values (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Mod...) representing adding [+0, +1, +2, +4, reset=0, -4, -2, -1] (modulo [-64..64)) to the current modulator amplitude. This means you have to design modulator tables carefully, or else the carrier frequency will have a net offset (as above) or even drift endlessly until it wraps around. Interestingly, FamiTracker shows the mod table as only having 32 elements (compared to the wavetable's 64 elements), and the nesdev wiki (https://wiki.nesdev.org/w/index.php/FDS_audio#Mod_table_writ...) describes the mod table as having 32 elements. This conflicts with how Mesen (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Mod...), cxNES (https://github.com/perilsensitive/cxnes/blob/master/boards/a...), and nsfplay (https://github.com/bbbradsmith/nsfplay/blob/master/xgm/devic...) implement the mod table as a 64-element array where you can only write to 2 adjacent elements at a time. I'm not sure which is accurate, as I don't have hardware on hand to test.
Then on each sample (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Mod...), the modulator amplitude is multiplied by the modulation strength (dropping a few lower bits and rounding oddly), clamped between [-64..192) (asymmetrical for some reason), and then used to change the carrier's instantaneous frequency by 0x through 4x (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Fds...).
An Arduino based music visualizer using the FastLED library and a strip of individually addressable LEDsProject mention: Spectrum Shield Coding Help | reddit.com/r/FastLED | 2021-03-19
Super Nintendo Entertainment System Music Software. Super Famicom Music SoftwareProject mention: Here's a mockup for Super Famitracker (a SNES tracker) | reddit.com/r/famitracker | 2021-01-17
Eurorack modular synthesizer DIY projects with Arduino and common C++ libraries.Project mention: Looking for a clock schematic/ stripboard | reddit.com/r/synthdiy | 2021-11-04
The Circuit Abbey TICK is a simple 555-based clock with three ranges. After that there are any number of divider options, including the 4ms Rotating Clock Divider.
Fast and easy to understand Arduino library to use the DFPlayer Mini MP3 module from DFRobot.com. This is a huge improvement (both in terms of execution speed and simplicity) to the standard library provided by DFRobot.com.Project mention: Mp3 Shuffle Function | reddit.com/r/arduino | 2021-06-11
Using DfPlayer mini and this library I've managed to make a basic MP3 player with an arduino communicating with it using serial.
Guayadeque is a music management program designed for all music enthusiasts. It is Full Featured Linux media player that can easily manage large collections and uses the Gstreamer media framework.
FMOD Studio integration and bindings for the Godot game engine
C'est très élégantProject mention: What should I use for unzipping zip files and the like ? | reddit.com/r/archlinux | 2021-08-25
Try with other .zip file. Try this (It's the source code of musique from github, nothing special, just for testing the extract feature). Download the sample file, try to decompress it. If it's works then your .zip file is corrupted or is compressed by algorithm unrecignised by Ark.
An Arduino audio DSP library for the Espressif ESP32 and probably other 32 bit machinesProject mention: Making annoying baby toys into interactive bluetooth speakers | reddit.com/r/esp32 | 2021-01-15
Maybe this would inspire you as far as having buttons do creative modifications to the music: https://github.com/garygru/yummyDSP
C++ Music related posts
MIDI export problems
1 project | reddit.com/r/lmms | 2 Dec 2021
Which music players exist which are currently still developed/maintained and have a GUI?
5 projects | reddit.com/r/linuxquestions | 30 Nov 2021
When somebody asks you what language you code in:
2 projects | reddit.com/r/ProgrammerHumor | 30 Nov 2021
Beginner's question - Serrato or Rekordbox?
1 project | reddit.com/r/Beatmatch | 29 Nov 2021
Equipment for kids
1 project | reddit.com/r/homestudios | 29 Nov 2021
Kasts or Clementine?
2 projects | reddit.com/r/kde | 22 Nov 2021
So stressed about this
1 project | reddit.com/r/musicproduction | 20 Nov 2021
What are some of the best open-source Music projects in C++? This list will help you:
Are you hiring? Post a new remote job listing for free.