EuroSynth:
Filter:
EuroCollider/Classes (extension) | EuroCollider

EuroSynth
ExtensionExtension

Translation between SuperCollider synth and EuroRack modules

Description

EuroSynth implements a tuning system so the Pattern system of SuperCollider can be used on a eurorack modular system.

NOTE: Please check if your audio interface is DC coupled, see EuroCollider: What is a DC coupled interface for more information.

Before starting make sure you have wired everything up properly. In this example we will use

Also make sure that you have started the server with the appropiated device and number of out- and inputs, see ServerOptions and EuroCollider: Configure SuperCollider

The build in monitor of EuroSynth is only mono and therefore you only may have heard something on your left speaker - this is intentional as SuperCollider is often used with an arbitrary number of output channels, therefore it should be your responsibility to map the input to your desired output. One strategy is to use Ndefs for this where we use e.g. Pan2, so e.g.

Class Methods

.new

Arguments:

soundIn

SoundIn bus number where the audio signal of the module is arriving. Can be nil in case you only want to use the gate functionality in case you do not have a DC coupled interface.

cvOut

Out bus number where the cv signal should be put out. Can be nil in case you only want to output gates in case you do not have a DC coupled interface. Needs to be connected to the CV in of the module.

gateOut

Optional Out bus number where a gate signal will be put out. If this is not provided or nil it will spawn a new private audio Bus on the server where the output will be headed to in order to not put out on output 0 of the audio interface. If you use the associated EuroSynth: -controlSynth manually you need to manually close the gate, e.g. via Function: -defer

playMonitor

If true it will spawn a Ndef where the input of the module wil be played back on Bus 0 of the audio interface. This is more of a convenience method and one should write its own Ndef or SynthDef to control the output of the eurorack module. See EuroSynth: -monitor for more information.

negativeVoltage

If true it will also allow to output negative voltages. Some modules are fine with this (e.g. MakeNoise STO) but others are not (e.g. Mutable Instruments Plaits), therefore it is turned off by default.

Instance Methods

.tune

Will run the (re-)tuning procedure for the synth.

Arguments:

baseFreq

Reference frequency which should be considered a starting point for the tuning process. Should be a low note because we will go up the scale.

steps

Number of steps which will be used for tuning.

endRange

End of tuning range. 0.5 will cover around 4 octaves.

negativeSteps

Allows to also tune a number of negative steps as well. This is only allowed if the EuroSynth instance was initiated with negativeVoltage set to true.

minMatch

midi steps which tollerate a deviation from the baseFreq during absolute tuning.

.freq

Will output the according DC offset on the interface so the oscillator plays the set frequency.

Arguments:

newFreq

.plotTuningCurve

Plots a graph how a frequency is mapped to CV according to our tuning map. The lower graph should look like a logarithmic curve and not contain any spikes.

Arguments:

startFreq

lower boundary

endFreq

upper boundary

.tuningMap

A Dictionary in which the internal relation between CV and frequency is stored.

.controlSynth

A synth which is used to control the output of the DC offset (aka CV) and the trigger of the EuroSynth. This will also respawn if CmdPeriod was pressed.

.resetTuning

Will reset the tuning.

.isTuned

A boolean if the synth was already tuned or not.

.freqCv

Allows to convert a frequency to a CV value. This is used internally when called a pattern is used but can be useful for manula setting of frequencies.

Arguments:

freq

.startControlSynth

Internal method which will start a synth which is responsible of emitting the proper DC offset to the synth and providing a gate. Normally the synth is created automatically and also revived when stopped via CmdPeriod but in case you want to respawn it manually you can do it via this method.

.monitor

Returns a Ndef which maps the soundIn argument to the Out 0 of the interface. Use it like

.clear

Will clear and free everything associated from the server and reset the tuning. Use this before creating a new EuroSynth with the same output config but different settings, e.g. negativeVoltage.

.gateOut

.negativeVoltage

.soundIn

.cvOut

Examples

Sync two patterns via Tdef