this post was submitted on 14 Dec 2024
27 points (100.0% liked)

Rust

6129 readers
52 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
 

Hi, I've been working on this app for playing MIDI files with different soundfonts. It's been a few months of work, but I think it's inching towards being good enough to publish for real. There are still a couple fundamental features missing before v1.0.0, but I thought it would be a good time to share it and ask for opinions in a programming community. Any critique on the app, or code? Do people out there even care about midi files this much? Thanks.

img

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 1 week ago (1 children)

I care about MIDIs! I'll check this out asap.

Pretty cool, I'm interested to see how far you can take it!

If you can match BASSMIDI in terms of features then you got yourself a serious synth on hands. (If you can match Sound Canvas or Yamaha MU synths, even better!)

Just keep in mind that most (and by that I mean like 99%) of soundfonts aren't exactly made to proper specifications. A lot of them miss certain parameters (such as filter cutoff frequency, LFO frequencies, etc) and even misuse them (reverb and chorus pre-set on layers being cranked up).

The only soundfonts I recommend you develop this with (as your target) are the ones made by E-MU themselves. CT4MGM.SF2 especially. They basically cloned the Roland SC-55 as closely as they could on their sound chips at the time and most sounds match the behaviors correctly.

[–] [email protected] 1 points 1 week ago

Hey cool, thanks for the recommendation, I added CT4MGM and a couple other fonts to my collection. I have already found fonts that do deranged stuff, like defining offsets outside the buffer they're supposed to be in.

Right now I'm not creating the sounds myself, but rather using a library for the purpose. I'm intending to replace it with my own implementation (or a suitable alternative, if one exists) later, if I just have the time. The biggest remaining blocker for release is doing exactly that for the midi sequencer, because the current one doesn't let me do seeking.

I have other related projects planned as well, like a soundfont compiler that builds a font from "source code" that consists of loose samples and text files that define the instruments. I promised myself to not start anything until this one is out, though.

[–] ExperimentalGuy 2 points 1 week ago

I've been thinking about trying to make plugins for awhile (which is the most relevant thing I can say). This looks really cool and seems like it'd be a nice start into audio programming.