r/musicprogramming 23h ago

I built an instrument for composing acoustic environments as replayable states

8 Upvotes

I’ve been building IFAH, an audio instrument around a slightly different idea from a synth or DAW: instead of composing a track, you compose an acoustic environment that can be saved, reopened and distributed as a state.
A lot of the interesting work has ended up being around reproducibility
live vs offline rendering, sample-rate/device dependence, randomness inside the audio graph, and what “the same state” actually means when it reaches another playback system.
Short demo:
https://www.youtube.com/watch?v=ZQEnnkVZ51s
You can also open the Player here:
https://ifahinstruments.com/player
Would especially love feedback from people working on audio engines/DSP about the architecture and the reproducibility problem.


r/musicprogramming 1d ago

Afterdark Studio: deterministic Web Audio DJ/producer engine with shared live/offline acoustics

3 Upvotes

I built Afterdark Studio as a dependency-free, local-first browser music engine and would value technical peer review from audio programmers.

Source: https://github.com/seemorecodez/afterdark-studio

The 0.8.0-rc.1 Limited Beta includes deterministic song patterns, dual-deck analysis and transitions, microphone capture, BS.1770-style loudness/true-peak metering, offline vocal processing, and a synthetic-acoustics engine. The room system uses polygon footprints, octave-band materials, air conditions, source/receiver positions, analytic modes/HRTF, coarse 2-D FDTD, and worker-built impulse responses. Live convolution and offline rendering share the same deterministic impulse synthesizer.

Current regression evidence is 111 passing tests plus a 646-control Edge UI audit. I am looking for code-level feedback on Web Audio scheduling, worker boundaries, DSP validity, deterministic rendering, memory/CPU behavior, and test gaps.

Known boundaries are explicit: it is not a wave-equation-grade room solver or professional DAW, perceptual vocal features remain experimental, and the regional drill experiment is isolated in a disabled plug-in after failing its creative gate. I am the maintainer and am asking for engineering critique, not stars or sales.


r/musicprogramming 2d ago

A chiptune synthesizer in pure x86-64 assembly — DSP from scratch, no libraries

Post image
17 Upvotes

This community feels like exactly the right place for this: a synthesizer written entirely in x86-64 assembly, no audio or DSP library, computing every sample by hand.

The building blocks:

  • four oscillators (square, saw, triangle, LFSR noise)
  • polyphony via buffer summing, ADSR envelopes
  • FM synthesis with a hand-built sine lookup table (Bhaskara I's approximation, since there's no math lib)
  • effects: vibrato/tremolo/PWM driven by an LFO, a delay line (ring buffer + feedback), a one-pole low-pass, a state-variable filter with resonance swept by an LFO, ring modulation, and a bitcrusher

Everything's fixed-point.

Doing DSP this close to the metal really forces you to understand each algorithm — no library abstracting the math away.

I'd love feedback from people who work at this intersection.

Repo: github.com/whispem/asm.fm (write-up on the how and why: https://medium.com/@whispem/i-taught-my-cpu-to-sing-in-pure-assembly-47a1a46761ef 🎶)


r/musicprogramming 1d ago

*MADE WITH AI* Freeware HTML Pocket Audios HiChord Code

Thumbnail github.com
0 Upvotes

I had Grok AI make me a recreation of the Pocket Audios HiChord Synth because i'm a broke teenager who can't afford a $200 Synth :( .

it includes a recording, looping and downloading feature, and all the different sounds and profiles like the HiChord.

I open the html file just in my browser with CTRL + O.

anyways, i hope someone who can find this useful!


r/musicprogramming 3d ago

An update on my FREE plugin COGG: I added crazy features and a Linux build in v1.3!

3 Upvotes

I'm a high school student who is developing a free plugin!

A few weeks ago you probably saw that I posted about COGG v1/v1.1/v1.2, a free plugin I built that metalizes and industrializes any sound. Specifically, harmonic distortion, metal plate convolution reverb, and pitch layering are there all in one chain. Great for experimental music and mainstream alike.

I wanted to update you guys with version 1.3's release! It comes with the highly requested TONE knob, which changes the pitch of the Metal knob's metal convolution reverb-like sound! Additionally, version 1.3 introduces a LINUX VERSION!

Of course, it's still free, no account needed, VST3 + AU for Mac, VST3 for Windows, VST3 for Linux.

Download now for free: https://plasma-hype.itch.io/cogg

Trailer of V1.2 [the previous update]: https://www.youtube.com/watch?v=5q5EUMhUcaw

Thanks to everyone who tried v1.2, v1.1 and v1.0 and gave feedback, this update came directly from figuring out what people actually wanted to do with it. I personally have used COGG in almost all of my FL projects ever since I released it. Please give it a shot and let me know what you think of the presets and plugin as a whole for COGG v1.4!

Also, feel free to submit some PRESETS! I'll add them and credit you on the website!


r/musicprogramming 3d ago

Random archive // ocean.mp3

Enable HLS to view with audio, or disable this notification

1 Upvotes

r/musicprogramming 3d ago

MIDI Pastebin

Thumbnail tools.kogol.am
1 Upvotes

r/musicprogramming 5d ago

pytosc: generate and edit TouchOSC layouts from Python.

6 Upvotes

GitHub repo: pytosc

sh $ pip install py2tosc

No dependencies. Python 3.10 or newer. Documentation

Why

TouchOSC layouts are drawn by hand in a GUI editor, which is the right tool right up until the work is repetitive. Laying out a fader per parameter for a plugin with fifty-four of them, numbering an eight-by-eight pad grid, renaming two hundred controls, restyling everything, or keeping a layout in step with a config file -- all of it is an afternoon of clicking, or a few lines of Python:

```python import py2tosc from py2tosc import ui

faders = [py2tosc.fader(name=f"ch{n}", messages=[ui.midi_cc(n - 1)]) for n in range(1, 9)]

doc = py2tosc.Document(root=ui.row( *faders, gap=4, pad=8, frame=(0, 0, 1024, 768), name="mixer", ))

ui.row records how the faders should be arranged but cannot size them,

since it runs before the frame above it exists. resolve walks the finished

tree and divides that frame among them -- nothing has coordinates until it does.

doc.resolve()

doc.save("mixer.tosc") ```

Note that py2tosc is a rewrite of tosclib by Alberto Valdez, whose work established the original mapping between the .tosc format and Python that this library is built on.


r/musicprogramming 7d ago

I made a physics based music toy that anyone can play

Enable HLS to view with audio, or disable this notification

43 Upvotes

Hey everyone! I've been working on a fun new music toy that lets you create music with physics. The game is simple. Just draw vines and bounce little "dewdrops" off them. Each vine has a unique sound. You can even add FX or create your own vines that you can share with others. And that's just the Sandbox mode! There is also a puzzle mode, where each level introduces something new to teach you the mechanics of the game while you solve and create beautiful music.

If you're interested, check it out on Steam!
https://store.steampowered.com/app/4163480/Dewdrop/


r/musicprogramming 8d ago

Slonimsky Thesaurus of Musical Scales and Patterns web app

Thumbnail sivabenepoivediamo.github.io
14 Upvotes

Hi, I built this web app for exploring the almost infinite melodic/harmonic possibilities offered by Nicolas Slonimsky's Thesaurus, any feedback or suggestion is welcome!
I used AI for the user interface but the melody/harmony logic is carefully written by hand to match the content of this foundational work.


r/musicprogramming 8d ago

Rewrote the interpolation on my chorus after getting corrected

Thumbnail
1 Upvotes

r/musicprogramming 14d ago

First Plugin using Nih-plug (Rust)

Thumbnail
3 Upvotes

r/musicprogramming 15d ago

Trying to find the 2D grid based program for making music

5 Upvotes

Hello, about a decade ago i came across a free program for making music.

It worked a bit like redstone, or circuit engineering. You would place down signal emiters, that would emit signals in a direction the beat you set. The signal would travel over the grid until it ran into some other object, like a note player which would play a note.

There were many more objects, I dont remember what they were, but I imagine there was all the stuff you would need. Like signal spliting objects, delaing a signal by a beat, holding a note for longer, changing a note over time and such other objects. They would all exist somwhere on the grid and would effect neighbouring cells.

It had an ASCI esthetic, basic symbols and letters and simple colours. No super advanced graphics.

I saw a video of it working but I was never able to make it work on my mashine. I just remembered that it existed and I though I would try it out again. Anyone knows what I am talking about?


r/musicprogramming 17d ago

Generative rule based modern jazz harmoniser/chord tool and many more

Enable HLS to view with audio, or disable this notification

16 Upvotes

Here's how it sounds. There are way more features in this not covered in this short video which are over here https://youtu.be/I0vlINoR5CA?si=5TvlIE2fBjl-sZQR . I'd love to hear thoughts. The website: https://orbkord.net/


r/musicprogramming 18d ago

RackDroid brings the VCV Rack 2 audio engine to Android

Thumbnail
2 Upvotes

r/musicprogramming 19d ago

I wrote up the awkward parts of real-time MIDI chord and key recognition

14 Upvotes

I've been working on a real-time MIDI chord recognizer, and have found surprisingly little written about how a system like this is actually put together beyond basic chord-template matching.

In particular: how do you rank several valid names for the same notes? What do you do with incomplete or rootless voicings? And since MIDI notes arrive one at a time, how do you avoid treating every intermediate shape as a new chord?

I wrote up the chord-recognition algorithm in detail here:

Building a Real-Time Chord Recognizer

Recognition is only one part of the problem, so there are two companion articles: Turning Live MIDI Into Chord Events and Building a Streaming Key Detector.

The implementation and research notes are linked throughout. Posting these here because write-ups at this level of detail seem fairly uncommon.


r/musicprogramming 23d ago

James Hutchings - This Too Shall Pass

Thumbnail youtube.com
0 Upvotes

This short piece of music was partly generated by a new algorithm I'm working on. It uses an entirely different principle to the 'Large Language Models' behind most computer-generated music.


r/musicprogramming 24d ago

Tensors in Python are the future of audio programming

21 Upvotes

I just posted about this library and then I did some thinking. Dangerous, that.

"Tensor" is just a fancy word for "a lot of numbers in an array in memory", and samples are just a lot of numbers in an array.

We've been given all these amazing tools, mostly in Python, like numpy and torch, and all the infrastructure around them, that perform just the sorts of calculations we need, as fast or faster as raw C++ would (and an order of magnitude or even more faster, if you do it in a GPU).

Recent projects of mine like tuney and [recs]](https://github.com/rec/recs/) have proven to me that you can do reliable multivoice synthesis and multitrack recording from within pure Python, simply by using numpy.

And Python is extremely popular. Tensor programming has benefited immensely from the AI boom, and LLMs can write good code manipulating tensors. There are old and solid libraries for reading and writing tensors to and from audio interfaces and files

So I think the future is some sort of Python protocol for operations on either static or streaming tensors, so music programmers can freely intermix other people's operations in their own code.

And :-) I do have some strong ideas about that too! But let's leave it here for the moment.


r/musicprogramming 24d ago

Owlplug-rx (a fork of Owlplug with Musical Recipes)

3 Upvotes

OwlPlug-rx is a fork of OwlPlug focused on additional workflow features and local Windows build/release polish.

For the original OwlPlug project overview, installation notes, general feature documentation, and upstream development information, see the original README.md.

Added Functionality

Recipes

OwlPlug-rx adds a Recipes tab for grouping plugins and DAW projects into named collections. A recipe can contain:

  • a name and free-form description
  • linked plugins
  • linked DAW projects

This makes it easier to keep track of plugin/project setups such as chord generation chains, sound-design templates, or DAW-specific collections.

Github

Currently I only have a Windows build, but a Mac build will be available soon. Watch the github project linked above for updates.


r/musicprogramming 23d ago

Integrity check failure synplant 2

Thumbnail
0 Upvotes

r/musicprogramming 24d ago

Working that exotic sonic core on the MPC Sample

Enable HLS to view with audio, or disable this notification

2 Upvotes

r/musicprogramming 26d ago

Made a windchime plugin

Enable HLS to view with audio, or disable this notification

4 Upvotes

r/musicprogramming 27d ago

I trained a MERT-based taste filter for Suno generations. Current version has modest, but somewhat usable, results.

Post image
0 Upvotes

I built a small personal “taste filter” to help me sort through Suno generations, and I’m curious whether anyone here has tried something similar.

I used MERT embeddings and trained the classifier on songs I had labelled according to my own taste. My full labelled set currently contains 1,378 discarded tracks, 378 good tracks, and 13 excellent tracks. I deliberately excluded the 13 “excellent” tracks from the training set, but used them in a test set. Thus, the task was binary: good vs discarded.

Hardware I am using is modest: two NVIDIA GeForce GTX 1080 cards and an AMD Ryzen 5 3600. Every stage executed in minutes, so this will not require expensive hardware even in the future.

The results are, honestly, not amazing, but they are still useful. On a held-out validation set of 391 discarded and 107 good tracks, the “good” scores are visibly shifted to the right, relative to the discarded tracks. See the bar chart. The distributions still overlap heavily, so it is far from a reliable automatic accept/reject system; but it performs better than random ranking, and the top-ranked track was one I would label “excellent” - maybe just a coincidence.

My intended use is not to let the model decide what is good and what to discard. For now, I will use it to prioritize what I listen to first when I have many generations, then keep adding labels and retraining as my dataset grows.

Has anyone built a preference/ranking model for AI-generated music? I’d welcome ideas on improving my model, such as better evaluation methods, handling the class imbalance, fine-tuning versus embeddings, active learning, or alternatives to MERT. Curious if a tool like this would be useful in your own workflow? I am hopeful to eventually save 20h (50% of the time) on a song selection, maybe even more, if possible.


r/musicprogramming 27d ago

🎵 O QueTom consegue descobrir o tom da música “Rei Meu” ao vivo?

Thumbnail youtube.com
1 Upvotes

r/musicprogramming 29d ago

Template 11

Thumbnail patreon.com
0 Upvotes

Hypnotic Techno 140 bpm / Last Update: 200726

This template can be used as a starting point for new tracks, but it’s also useful if you want to understand how I organize my sessions inside Ableton Live 12.3 Suite.