Skip to content
An environment for mixing and sequencing spatialized audio using Wavefield Synthesis, for SuperCollider.
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


WFSPlayer -- an audio mixer that implements Wavefront Synthesis to spatialize sound along
a 2 dimensional plane. This will be able to mix external signals, along with custom 
SynthDefs that can be loaded with this set of SuperCollider classes.


With git, run this command from the command line:

git clone git:// WFSPlayer

WFSPlayer depends on the XML Quarks, and will work with both SwingOSC and CocaGUI schemes.


Use something like this. The SynthDefs can be any mono signal. Their out buses must then
be set to the inBuses of their respective channels as follows:

~main = WFSMixer();

// the server will boot automatically. add two channels in the WFSMixer interface
// and then run the following code.

~ggOutBus = ~main.addChannel;
~pOutBus = ~main.addChannel;

// alternatively add a channel in the gui, and then call getInBus

~ggOutBus = ~main.getInBus(0);
~pOutBus = ~main.getInBus(1);

// to play back, then you would do something like this (or better to use
// Synth objects)
// obv. use your own SynthDefs here 
// *** NOTE the synths must be added to the head of group 1 ***

~ggNode = s.nextNodeID;
s.sendMsg('s_new', 'testWFS', ~ggNode, 0, 1, 'outBus', ~ggOutBus);
s.sendMsg('n_free', ~ggNode);
~pNode = s.nextNodeID;
s.sendMsg('s_new', 'wfsTestPulses', ~pNode, 0, 1, 'outBus', ~pOutBus);
s.sendMsg('n_free', ~pNode);

********** issues ***********

add more control over the sequences (clear, rename, delete sequences, etc.)
make the delay time selection handle negative numbers when the spatialization is inverted (and only then)

... wish list
add a global "loop" option to the sequencer
add drawing/algorithmic sequencing features
add vertical placement of audio signals
*** from Bryan
add draw paths to the markers that show where the markers go when played (no more info needed)

channel removal breaks after removing channel 1 <-- is this actually an issue?

Something went wrong with that request. Please try again.