MCPcopy Create free account
hub / github.com/amsynth/amsynth

github.com/amsynth/amsynth @release-2.0b1

Chat with this repo
repository ↗ · DeepWiki ↗ · release release-2.0b1 ↗ · + Follow
720 symbols 1,281 edges 88 files 16 documented · 2% updated 5d agorelease-2.0b1 · 2026-04-27★ 50022 open issues

Browse by type

Functions 592 Types & classes 128
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

amsynth

amsynth is is a free and open-source analog modelling (a.k.a virtual analog) software synthesizer.

It mimics the operation of early analog subtractive synthesizers with classic oscillator waveforms, envelopes, filter, modulation and effects.

The aim is to make it easy to create and modify sounds.

Features

  • 2 oscillators (sine / saw / square / noise) with hard sync
  • 12/24 dB/oct resonant filter (low-pass / high-pass / band-pass / notch)
  • 2 ADSR envelope generators (for filter & amplitude)
  • LFO which can modulate the oscillators, filter, and amplitude
  • Mono, Poly and Legato keyboard modes
  • Distortion and reverb
  • Hundreds of presets

There are currently several different ways to run amsynth:

  • Stand-alone application using JACK, ALSA or OSS
  • LV2 plug-in
  • VST2 plug-in
  • DSSI plug-in

Presets

amsynth stores presets in banks, each containing 128 presets.

The default user bank is located at ~/.local/share/amsynth/banks/default and any preset banks found in the following directories will also be available to select in the GUI:

  • ~/.local/share/amsynth/banks (user banks)
  • /usr/share/amsynth/banks (read-only "factory" banks)

Installation

Linux

While the simplest way to install amsynth is from your Linux distribution's package repository, the available versions tend to be quite old.

Package versions: https://repology.org/project/amsynth/versions

More recent builds of amsynth for Ubuntu related distributions are available through the amsynth PPA:

https://code.launchpad.net/~nick-nickdowell/+archive/ubuntu/amsynth-develop

FreeBSD

A FreeBSD port of amsynth is available:

https://www.freshports.org/audio/amsynth

Building from source

1. Install Prerequisites

In order to successfully build amsynth you will need compiler with support for C++14 language features, GNU make, and the following development libraries:

  • curl
  • Freetype
  • GNU autoconf & automake
  • GNU gettext & intltool
  • GNU make
  • libpng
  • pandoc
  • xcursor
  • xinerama
  • xrandr
  • zlib

The following packages are optional but recommended:

  • JACK for audio output
  • ALSA for midi & audio
  • DSSI and liblo

On Debian and Ubuntu based systems, the recommended packages may be installed with the following command:

sudo apt install autopoint dssi-dev intltool g++ libasound2-dev libcurl4-openssl-dev \
    libfreetype-dev libjack-dev liblo-dev libpng-dev libtool libxcursor-dev \
    libxinerama-dev libxrandr-dev pandoc zlib1g-dev

2. Prepare the source tree

If using a Git checkout of the source code, first run the autogen.sh script to prepare the source tree and build system:

./autogen.sh

3. Configure the build

Run the configure script to generate Makefiles adapted to your build environment. Run with --help to learn about the available options.

./configure

4. Build

Run make to build the standalone app and all configured plugin targets. On multicore systems passing -j $(nproc) will significantly speed up the build.

make -j $(nproc)

5. Install

To install the software and data in the configured location (which can be changed using the --prefix configure option) run:

sudo make install

Core symbols most depended-on inside this repo

Shape

Method 453
Function 139
Class 114
Enum 14

Languages

C++99%
C1%

Modules by API surface

src/core/gui/MainComponent.cpp40 symbols
src/standalone/main.cpp36 symbols
src/core/synth/Synthesizer.cpp27 symbols
external/nsm/nsm.h27 symbols
src/core/synth/PresetController.cpp26 symbols
src/plugins/dssi/dssiui.cpp25 symbols
src/core/synth/PresetController.h25 symbols
src/core/synth/Parameter.h24 symbols
src/plugins/au/auplugin.cpp23 symbols
src/core/synth/Synth--.h20 symbols
src/plugins/vst2/vstplugin.cpp19 symbols
src/core/synth/VoiceAllocationUnit.cpp18 symbols

For agents

$ claude mcp add amsynth \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page