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

  • xan1242@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    4
    ·
    15 days ago

    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.

    • sevon@lemmy.kde.socialOP
      link
      fedilink
      arrow-up
      1
      ·
      14 days 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.