C++ Music

Open-source C++ projects categorized as Music | Edit details
Related topics: #Audio #Sound #C++ #Qt #Linux

Top 23 C++ Music Projects

  • Sonic Pi

    Code. Music. Live.

    Project mention: Ten Steps to Becoming a Synth Dynamo | news.ycombinator.com | 2022-01-18

    You could do that, just like you could write a web app in assembly.

    stuff like https://sonic-pi.net/#examples does exists, but what you start to realize is that, is even the "code first" approaches to making music, you are really just generating configuration on the fly that's being processed buy some other engine underneath, in this case it's Super collider.

  • lmms

    Cross-platform music production software

    Project mention: just saw a lot of people get inspired by sewerslvt and make their own music | reddit.com/r/Sewerslvt | 2022-01-23

    Free: LMMS, Ardour (if you compile it yourself), OpenMPT

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • Snapcast

    Synchronous multiroom audio player

    Project mention: Low-latency audio streaming (local network) | reddit.com/r/selfhosted | 2022-01-01

    It appears to primarily depend on what sources and destinations are being used. The server has an explicit buffer setting which could be reduced until the stream becomes discontinuous. I took a look at this conversation for reference.

  • supercollider

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

    Project mention: A Quick Introduction to Supercollider | dev.to | 2022-01-20

    First download Supercollider from the website. Use the installer for Mac and Windows, for linux there's a source tarball or repo packages that can be used. Next startup supercollider and you should see a code window with a console window to the right and documentation. The documentation window just contains all the documentation which you can browse and the console window contains the server status and standard output.

  • Clementine

    :tangerine: Clementine Music Player

    Project mention: Any good local music management software for Linux? | reddit.com/r/linux4noobs | 2022-01-19

    And Clementine is good if you use Qt or don't mind using Qt apps. https://www.clementine-player.org/ and it has a remote app for Android.

  • mixxx

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

    Project mention: Does anyone here DJ using Linux? | reddit.com/r/DJs | 2022-01-23

    If Mixxx is not available in the package manager of your Linux distribution or if the available version is outdated (lastest version is 2.3), you can just compile it, it's really easy: https://github.com/mixxxdj/mixxx/wiki/Compiling-On-Linux

  • OTTO

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

    Project mention: Klaus: open source portable synthesizer and sampler | reddit.com/r/synthdiy | 2021-12-06

    Like this? https://github.com/bitfieldaudio/OTTO

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • mpd

    Music Player Daemon

    Project mention: Katana Desktop environment - fork of KDE4 | reddit.com/r/linux | 2021-12-31

    Was a die-hard MPD fan back in those days.

  • strawberry

    :strawberry: Strawberry Music Player (by strawberrymusicplayer)

    Project mention: What is the best media player for FLAC files on the new MBP | reddit.com/r/macbookpro | 2022-01-19
  • sonobus

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

    Project mention: is there an easy way quickly check your mix on your phone and laptop speakers? | reddit.com/r/audioengineering | 2022-01-23

    You can use SonoBus for this.

  • zynaddsubfx

    ZynAddSubFX open source synthesizer

    Project 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.

  • q

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

    Project mention: DSP chip recommendations? | reddit.com/r/diypedals | 2021-12-23

    Q

  • LMS

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

    Project mention: Music servers that actually support crossfade? | reddit.com/r/selfhosted | 2022-01-19

    As far as servers go, /r/Navidrome is pretty lightweight, so is LMS

  • DaisySP

    A Powerful, Open Source DSP Library in C++

    Project mention: Ten Steps to Becoming a Synth Dynamo | news.ycombinator.com | 2022-01-18

    There is this open source CloudSeed reverb, which has a C++ and C# version, I prefer the C++ one. With some knob fiddling it gets closer to infinite reverbs, like in Valhalla and Strymon Big Sky clouds.

    https://github.com/ValdemarOrn/CloudSeed

    I guess it can be compiled for Linux with some kung fu build skills. I ported it over to Electrosmith Daisy STM32, which is very cool too: https://www.electro-smith.com/daisy

  • powertabeditor

    View and edit guitar tablature.

    Project mention: Power Tab Editor 2.0 - Alpha 16 released! | reddit.com/r/powertab | 2021-12-28
  • nsfplay

    Nintendo NES sound file NSF music player

    Project 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...).

  • Arduino-FastLED-Music-Visualizer

    An Arduino based music visualizer using the FastLED library and a strip of individually addressable LEDs

    Project mention: Spectrum Shield Coding Help | reddit.com/r/FastLED | 2021-03-19

    code

  • snestracker

    Super Nintendo Entertainment System Music Software. Super Famicom Music Software

  • arduino-eurorack-projects

    Eurorack modular synthesizer DIY projects with Arduino and common C++ libraries.

    Project mention: Through-hole Arduino-powered clone of Mutable Instruments Branches | reddit.com/r/synthdiy | 2021-12-28
  • DFPlayerMini_Fast

    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

    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.

    Project mention: Any good local music management software for Linux? | reddit.com/r/linux4noobs | 2022-01-19

    I found Guayadeque the other day. Looks interesting although I haven't used it a lot yet.

  • fmod-gdnative

    FMOD Studio integration and bindings for the Godot game engine

  • musique

    C'est très élégant

    Project mention: What's your preferred music player? | reddit.com/r/linuxmasterrace | 2021-12-19

    I'm using Musique. It's a pretty simple library-based music player using Qt for its GUI. I don't really have any reasons to recommend it to be honest; I just kinda got stuck on it and am too lazy to try other players.

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 2022-01-23.

C++ Music related posts

Index

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

Project Stars
1 Sonic Pi 8,826
2 lmms 5,522
3 Snapcast 4,110
4 supercollider 4,097
5 Clementine 3,108
6 mixxx 2,547
7 OTTO 2,411
8 mpd 1,525
9 strawberry 1,338
10 sonobus 802
11 zynaddsubfx 675
12 q 665
13 LMS 520
14 DaisySP 422
15 powertabeditor 365
16 nsfplay 182
17 Arduino-FastLED-Music-Visualizer 154
18 snestracker 143
19 arduino-eurorack-projects 136
20 DFPlayerMini_Fast 127
21 Guayadeque 107
22 fmod-gdnative 99
23 musique 89
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.
github.com/nanovms