Skip to content
GNU ncurses terminal synthesizer
C++ C Objective-C Other
Branch: master
Clone or download
mtytel Merge pull request #19 from darrengarvey/master
Fix to support out-of-tree builds.
Latest commit 578b43c Jun 22, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
cJSON Changes so distribution and installation work. Dec 10, 2013
mopo Updated LICENSE. Jan 15, 2015
po Updated LICENSE. Jan 15, 2015
rtaudio Fixed all system references of 'Linux' to 'GNU/Linux' Jan 22, 2014
rtmidi Selects a valid sample rate instead of hard coded. Mar 25, 2014
ABOUT-NLS Some changes and new file for gettext. Jan 23, 2014
AUTHORS Changed AUTHORS file. Dec 8, 2013
COPYING First attempt at autotooling. Dec 8, 2013
ChangeLog Updated LICENSE. Jan 15, 2015
INSTALL Modified the INSTALL/README to make more readable/useful. Dec 11, 2013
README Updated LICENSE. Jan 15, 2015


cursynth - a GNU program
cursynth is a polyphonic, MIDI enabled, subtractive synth that runs in your
terminal with an ascii interface.

cursynth will connect to all MIDI devices and send output to the default audio
device on your system.

### Building
If you just want to build Cursynth, check out []
for latest source releases that don't require as much to build.

If you want to develop Cursynth, this source is the right place.
Run these commands to build the project from source:

$ autoreconf -i
$ ./configure
$ make

And then if you want to install, next run:

$ sudo make install

### Usage
cursynth [--buffer-size OR -b preferred-buffer-size]
         [--sample-rate OR -s preferred-sample-rate]
         [--version OR -V]

### Controls
* awsedftgyhujkolp;' - a playable keyboard (no key up events)
* \`1234567890 - a slider for the current selected control
* up/down - previous/next control
* left/right - decrement/increment control
* F1 (or [shift] + H) - help/controls
* [shift] + L - browse/load patches
* [shift] + S - save patch
* m - arm midi learn
* c - erase midi learn

### Requirements:
* OS: Mac OSX or GNU/Linux
* Terminal: a color enabled terminal with minimum 120x44 ascii characters
* If you want key up events, you have to use a MIDI keyboard

### TODO:
* Make a LV2 plugin version of cursynth
* More modulation sources and destinations
* Routable Envelopes
* On startup select audio output device
* On startup select MIDI input device
* Lot's more...

Questions? Feature requests? Bugs? email

Copyright 2013-2015 Matt Tytel <>
You can’t perform that action at this time.