A toolkit for experimentation with interprocessing (cross adaptive, signal interaction)
C++ Python HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENCE.TXT
LICENSE
README.md
analyze_audio.inc
analyze_chn_init.inc
analyze_send.inc
analyze_udos.inc
analyzer.csd
background.jpg
codeUtility.py
freeverb_gui_scratchpad.inc
freeverb_interprocess.csd
freeverb_parameter_ranges.inc
freeverb_score_events.inc
lpf18dist_gui_scratchpad.inc
lpf18dist_interprocess.csd
lpf18dist_parameter_ranges.inc
lpf18dist_score_events.inc
mincerpanverb_gui_scratchpad.inc
mincerpanverb_interprocess.csd
mincerpanverb_parameter_ranges.inc
mincerpanverb_score_events.inc
mincertime_gui_scratchpad.inc
mincertime_interprocess.csd
mincertime_interprocess2.csd
mincertime_parameter_ranges.inc
mincertime_score_events.inc
pluck_gui_scratchpad.inc
pluck_interprocess.csd
pluck_parameter_ranges.inc
pluck_score_events.inc
plucktremlpfverb_gui_scratchpad.inc
plucktremlpfverb_interprocess.csd
plucktremlpfverb_parameter_ranges.inc
plucktremlpfverb_score_events.inc
screverb_gui_scratchpad.inc
screverb_interprocess.csd
screverb_parameter_ranges.inc
screverb_score_events.inc
stereodelay_gui_scratchpad.inc
stereodelay_interprocess.csd
stereodelay_parameter_ranges.inc
stereodelay_score_events.inc
stereopan_gui_scratchpad.inc
stereopan_interprocess.csd
stereopan_parameter_ranges.inc
stereopan_score_events.inc
subscriber_connect.inc
subscriber_receiver.inc
template.csd
template_gui_scratchpad.inc
template_parameter_ranges.inc
template_score_events.inc
tremolam_gui_scratchpad.inc
tremolam_interprocess.csd
tremolam_parameter_ranges.inc
tremolam_score_events.inc
vst_MIDIator_gui_scratchpad.inc
vst_MIDIator_interprocess.csd
vst_MIDIator_parameter_ranges.inc
vst_MIDIator_score_events.inc
vst_mediator_gui_scratchpad.inc
vst_mediator_interprocess.csd
vst_mediator_parameter_ranges.inc
vst_mediator_score_events.inc

README.md

; 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 http://www.gnu.org/licenses/.

DEPRECATION NOTICE! The further development of tools in this repo has been moved to https://github.com/Oeyvind/featexmod 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 http://www.ntnu.edu/documents/1001201110/1266017954/DAFx-15_submission_16.pdf/f8f4770f-9fa4-4801-91c3-151856e4b324

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 (https://github.com/rorywalsh/cabbage/releases)
  • 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 codeUtility.py, and this script will generate the relevant code (when run with python codeUtility.py 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 effectName_gui_scratchpad.inc, 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 analyze_audio.inc file, and the analyze_send.inc file should be updated accordingly to reflect the new parameter names. Likewise, the subscriber_receiver.inc 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 codeUtility.py 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.