nowfound

Work · October 24, 2018

IJ

I just released my first commercial audio plugin

Hey all. For the last few years, I have been developing a software synthesizer as a side project. It's taken longer than I both hoped and feared, but earlier this week I finally shipped 1.0. Details about the synth itself are up on my website, https://lhiaudio.com/. For those who are unfamiliar, in music production, there are host applications (such as Logic Pro, Ableton Live, or REAPER) in which most of the work (such as recording or sequencing MIDI data) is done. These applications generally have some built-in tools for the actual generation and processing of audio data, but…

What it does

In the maker’s words, at launch

Hey all. For the last few years, I have been developing a software synthesizer as a side project. It's taken longer than I both hoped and feared, but earlier this week I finally shipped 1.0. Details about the synth itself are up on my website, https://lhiaudio.com/. For those who are unfamiliar, in music production, there are host applications (such as Logic Pro, Ableton Live, or REAPER) in which most of the work (such as recording or sequencing MIDI data) is done. These applications generally have some built-in tools for the actual generation and processing of audio data, but there is a massive ecosystem of third-party plug-ins for doing this as well. Cadmium is such a project – it takes MIDI notes in and generates sound. I built Cadmium from the ground up, based on my own framework for plugin API abstraction (for which I only have one backend, but that’s not important right now), my own UI toolkit (rutabaga (https://github.com/wrl/rutabaga), a cross-platform OpenGL 3.2 scenegraph), and finally the synthesizer engine and plumbing on top of all of that. The whole thing is written in C, with some Python (using waf as my build system) for compile-time codegen and some GLSL for pieces of the UI. Runs on Mac, Windows, and Linux. Realtime audio programming is a pretty challenging field, all things considered. Since it’s realtime, there’s a lot of mundane bits of programming that are strictly verboten – no allocation, no file I/O, no locking/mutexes – but only in the audio thread. So there’s a lot of ringbuffers, lock-free queues, things of that nature, and then there’s the actual UI programming and math/EE for the DSP on top. If you're a musician or producer yourself, I'd love to hear what you think. If you've always been curious about this kind of development, feel free to voice your curiosities here too! I love talking about this lesser-known corner of the wider software development landscape. -w

Does the same job

all alternatives →

More work this month

the category →
  • Let agents source clips from terabytes of your local video

    Work · 18d ago · clipto.com

  • Free local transcription that is 100% Private

    Work · 17d ago · hynote.ai

  • The app store for voice native apps that lives in your notch

    Work · 28d ago · voiceos.com

  • Ask any question, get a video back instantly

    Work · 24d ago · scrimba.com

  • Handle all of the work before, during, and after meetings

    Work · 17d ago · calendly.com

Launched alongside, October 2018

the whole month →
  • Funkify1,010

    Experience the web through the eyes of the differently abled

    Life & fun · 2018

  • Neil Patel's free keyword research tool

    Growth · 2018 · neilpatel.com

  • Cruip696

    Free and premium landing page templates for startups

    Growth · 2018 · cruip.com

  • Automate your workflow from idea to production

    Dev tools · 2018 · github.com

  • WI

    Life & fun · 2018 · 2018.bloomca.me

  • Discover new, productive Notion templates

    Work · 2018