shaiggon / simple-karplus-strong

Simple polyphonic synthesizer using the Karplus-Strong algorithm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple Karplus-Strong synth

This is a polyphonic synthesizer based on the Karplus-Strong algorithm using JACK for audio and AlsaMidi for MIDI. At the moment the DSP side of the synthesizer is really simple.

The synthesizer creates simple plucked string sounds.

Usage

The synth can be started with the command

$ simple_karplus_strong <midi port>

where <midi port> is optional. The default value for it is: hw:1,0,0. The available midi ports can be listed for example using this.

The synth is exited by typing anything in the command line and pressing enter.

Please note that you need to have JACK running with for example the QjackCtl and to connect the output of the synth to your sound card output.

Motivation

This synthesizer was created for a learning diary for the Aalto University course Audio Signal Processing.

Installation

The compilation of the project requires the JACK API and the ALSA API.

Compile by running the Makefile with command

$ make

Possibilities for further development

  • Use better strategy for creation of the string pluck
  • Use more realistic filtering in the delay line
  • Use fractional delays to fine tune the notes of the instrument
  • Use better strategy for the termination of notes (now ends the note abruptly after note off)
  • Better usage of the APIs used
  • Better code
  • Maybe some user interface

About

Simple polyphonic synthesizer using the Karplus-Strong algorithm


Languages

Language:C++ 98.6%Language:Makefile 1.4%