Does anyone know of any C/C++/C# code libraries that do audio synthesizer emulation?

13,099

Solution 1

There are an awful lot of C/C++ libraries out there, most no longer updated. There's not much for C#, but I have seen a couple. I haven't really used any of them in anger, so I can't give any recommendations.

I would start with Harmony Central and see if you find anything of use there.

Alternatively, a search for analog synthesis on sourceforge.net has plenty of results.

Solution 2

CCRMA at Stanford can be a good resource for audio software. The Synthesis ToolKit in C++ (STK) looks like it could help you out.

Solution 3

The Moog and the Yamaha DX7 are drastically different. The DX7 uses FM synthesis, which is severely strange. Very different from the usual VCO/VCA/VCF analogs like the Moog.

For a long time, Yamaha litigated to defend its FM patents, but they have all expired by now, I believe. Casio's phase distortion was similar to Yamaha's FM, and managed to avoid Yamaha's wrath (so far as I know).

I'd start by picking one or the other. Virtual Analog (emulating analog synths) is all the rage since the Nord Lead and the Access Virus showed up. And a lot easier to contemplate. So I'd go that way if you want to walk with the hip crowd.

Start with good band-limited oscillators, make an envelope generator, do a filter. For inspiration, check out Welsh's Synthesizer Cookbook to see how all kinds of sounds can be make with a two-oscillator synth. I'd start by implementing the minimum features needed for those patches.

FM and PD are wild. If you go that route, it's all about chaining enough FM operators together in interesting configurations to get a spectrum of interesting sounds. Warning: it's a lot of work to avoid aliasing in FM.

Solution 4

Synthmaker and SynthEdit will generate VST code for you. SynthEdit definitely outputs the uncompiled C++ source files, and is free.

http://www.synthedit.com/

http://synthmaker.co.uk/

Solution 5

The musicdsp website also has a great synthesis library. Lots of sample code in C/C++ on how to do things.

Share:
13,099
MusiGenesis
Author by

MusiGenesis

Former anthropologist, amateur programmer since 1979, professional programmer since 1995. In my last job, despite my vigorous protests, I was given the actual title of "visionary" - I will be trying to live this down for the rest of my life. I do C#, software synthesis, animation, windows mobile, iPhone/iPad (Objective-C), Android, BlackBerry and Windows Phone 7. Also java server stuff. If you live in Philly and play disc golf or Ultimate (frisbee), we may know each other already.

Updated on June 08, 2022

Comments

  • MusiGenesis
    MusiGenesis almost 2 years

    I'm trying to write a software synthesizer that recreates the sounds made by classic synthesizers like the Moog and the DX7. Does anyone know of any code resources for something like this? Thanks.