Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

; Copyright 2015 Oeyvind Brandtsegg ; ; This file is part of the Signal Interaction Toolkit ; ; The Signal Interaction Toolkit is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License version 3 ; as published by the Free Software Foundation. ; ; The Signal Interaction Toolkit is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with The Signal Interaction Toolkit.
; If not, see

DEPRECATION NOTICE! The further development of tools in this repo has been moved to Significant changes to the model made this necessary. This repo is kept for referrence purposes in relation to the DAFx-15 paper "A TOOLKIT FOR EXPERIMENTATION WITH SIGNAL INTERACTION", avaiilable at

The Signal Interaction Toolkit

A toolkit for experimentation with interprocessing (signal interaction)

  • How to use:
  • Compile the VST plugins from the .csd files using Cabbage (
  • Insert the analyzer plugin on one track (track 1) of your VST host, route audio to it
  • Insert on of the effects plugins on another track (track 2), route audio to it
  • Use the offset dials to set base values for each effect parameter
  • Use the modulation source selector and scaling to allow a modulator to affect an effect parameter
  • Audio output should be taken from track 2 in the setup outlined above
  • Adapting existing effects Making a script to automatically modify existing effects implemented in Csound would be handy. However, if such a script should be able to take any implemented effect and modify it to become a signal-interaction-enabled effect we would have to make assumptions about how the parameter control was implemented in the effect to be modified. Rather than making such assumptions, we have made a script that automatically generates essential include files and also generates the relevant parts of the GUI widget code. To modify an existing effect, one will have to make a list of the control parameters and their associated range. This can be entered as a list into the python script, and this script will generate the relevant code (when run with python effectName). The GUI code will have to be copied and pasted into the new effect, and the header and score section of the file needs to me modified according to the template effects file. The necessary modifications has been marked with comments in capital letters in the template.csd file. Python writes the GUI code to, from where it can be copied into the csd. The GUI caption and plugin id should also be edited to reflect the newly created effect.

  • Updating the toolkit As the toolkit is still in it's early stages of development, it is highly probable the parameter set of the analysis needs to be updated. Additional analysis methods should be put in the file, and the file should be updated accordingly to reflect the new parameter names. Likewise, the file must be updated so the effects processors will be able to receive the new parameter set, and finally the GUI widgets of effects processors needs to be updated. The gui code should be updated in the file, and the code utility must be run on any existing effects, as described in the previous paragraph. With these considerations, the updated parameter set will be picked up by the system automatically.


A toolkit for experimentation with interprocessing (cross adaptive, signal interaction)



LGPL-3.0, GPL-3.0 licenses found

Licenses found






No releases published


No packages published