SkillAgentSearch skills...

R

A modular engine for norns

Install / Use

/learn @antonhornquist/R
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

R

General purpose audio patching engine

Features

  • Arbitrarily create and connect audio generators and processors (modules).
  • Control module parameters from Lua scripting layer.

Disclaimer

  • Take care of your ears and speakers while patching! 🎧🎛️

Commands

  • new ss <modulename> <moduletype> - creates a uniquely named module of given type (refer to section "Modules" for available types).
    • Examples: new Osc MultiOsc, new Out SoundOut
  • connect ss <modulename/output> <modulename*input> - connects a module output to a module input. *
    • Examples: connect Osc/Pulse Out*Left, connect Osc/Pulse Out*Right
  • disconnect ss <modulename/output> <modulename*input> - disconnects a module output from a module input. *
    • Example: disconnect Osc/Out Out*Left
  • set sf <modulename.parameter> <value> - sets a module parameter to the given value.
    • Examples: set Osc.Tune -13, set Osc.PulseWidth 0.5
  • delete s <modulename> - removes a module.
    • Example: delete Osc

* In an earlier version inputs were referred to with the same delimiter as outputs <modulename/input>. This still works but is deprecated. For clarity, it is advised to use the new delimiter <modulename*input>.

Bulk Commands

  • bulkset s <bundle> - sets multiple module parameters to values given a bundle of modulename.parameter value pairs serialized as a string.
    • Example: bulkset "Osc.Tune -1 Osc.PulseWidth 0.7" has the same effect as sending set Osc.Tune -1 and set Osc.PulseWidth 0.7. All value changes of a bundle are performed at the same time. TODO: floating point precision?

Macro Commands

  • newmacro ss <macroname> <modulename.parameters...> - creates a uniquely named macro for simultaneous control of a list of space delimited module parameters. All included parameters should adhere to the same spec.
    • Example: given SineOsc and PulseOsc modules named Osc1 and Osc2 the command newmacro Tune "Osc1.Tune Osc2.Tune" defines a new macro controlling Tune parameter for both modules.
  • macroset sf <macroname> <value> - sets value for module parameters included in a macro. Controlling multiple parameters with a macro is more efficient than using multiple set commands. It is also faster than using bulkset. All value changes of parameters in a macro are performed at the same time.
    • Example: given Tune macro above command macroset Tune 30 has the same effect as commands set Osc1.Tune 30 and set Osc2.Tune 30.
  • deletemacro s <macroname> - removes a macro.
    • Example: deletemacro Tune.

Polls

The engine has ten polls named poll1 to poll10. Snapshots of module output signals can be routed to these polls. In addition, some modules expose feedback values typically used for visualization (ie. the MMFilter module feedback value Frequency which takes frequency modulation into account). These values - referred to as visuals - can also be routed to the polls.

  • polloutput is <modulename/output> - routes an output signal of a named module to a poll.

    • Examples: polloutput 1 LFO/Saw routes the signal of the output named Saw of the LFO module to poll1.
  • pollvisual is <modulename=visual> - routes a visual of a named module to a poll.

    • Example: pollvisual 2 Filter=Frequency routes the feedback value of the visual named Frequency of the Filter module to poll2.

Only one output or visual can be routed to each poll at any given time. The latest routed output or visual takes precedence.

Debug Commands

  • trace i <boolean> - determines whether to post debug output in SCLang Post Window (1 = yes, 0 = no)

Modules

44Matrix

4x4 matrix signal router.

  • Inputs:
    • In1 ... In4: Signal inputs.
  • Outputs:
    • Out1 ... Out4: Signal outputs.
  • Parameters:
    • FadeTime: Fade time in milliseconds (range: 0 - 100000 ms) applied when an input is switched on to or off from an output. Default is 5 ms.
    • Gate_1_1 ... Gate_4_4: Toggles that determine what inputs (first number) are switched on to outputs (second number).

88Matrix

8x8 matrix signal router.

  • Inputs:
    • In1 ... In8: Signal inputs.
  • Outputs:
    • Out1 ... Out8: Signal outputs.
  • Parameters:
    • FadeTime: Fade time in milliseconds (range: 0-100000 ms) applied when an input is switched on to or off from an output. Default is 5 ms.
    • Gate_1_1 ... Gate_8_8: Toggles that determine what inputs (first number) are switched on to outputs (second number).

ADSREnv

ADSR Envelope.

  • Inputs:
    • Gate: Gate control input. A signal > 0 triggers envelope.
  • Outputs:
    • Out: Envelope signal: 0 ... 0.8.
  • Parameters:
    • Attack: Attack time. Range 0.1 - 2000 ms. Default is 5.
    • Decay: Decay time. Range 0.1 - 8000 ms. Default is 200.
    • Sustain: Sustain level 0 - 1.0. Default is 0.5.
    • Release: Release time. Range 0.1 - 8000 ms. Default is 200.
    • Gate: Scriptable gate. When parameter goes from 0 to a positive value a gate is triggered.

Amp

Simple amplifier with level parameter and exponential or linear gain modulation.

  • Inputs:
    • Exp: Gain modulation control input (logarithmic).
    • Lin: Gain modulation control input (linear).
    • In: Input signal to attenuate.
  • Outputs:
    • Out: Attenuated signal.
  • Parameters:
    • Level: Amplifier level 0 - 1.0.

Amp2

Amplifier with two inputs, level parameter and variable exponential or linear gain modulation.

  • Inputs:
    • GainModulation: Control input for gain modulation.
    • In1: Audio input 1.
    • In2: Audio input 2.
  • Outputs:
    • Out: Attenuated signal.
  • Parameters:
    • Gain: Initial gain 0 - 1.0.
    • GainModulation: Gain modulation amount 0 - 1.0.
    • In1: Audio input 1 level 0 - 1.0.
    • In2: Audio input 2 level 0 - 1.0.
    • Out: Audio output level 0 - 1.0.
    • Mode: 0 or 1 representing linear or exponential gain modulation.

BPFilter

Resonant bandpass SVF filter.

  • Inputs:
    • In: Audio input.
    • FM: Control input for frequency modulation.
    • ResonanceModulation: Control input for resonance modulation.
  • Outputs:
    • Out: Filtered audio signal.
  • Parameters:
    • AudioLevel: Audio level 0 ... 1.0. Default is 1.
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz. Default is 440 Hz.
    • Resonance: Resonance 0 ... 1.0. Default is 0.
    • FM: Frequency modulation amount -1.0 ... 1.0.
    • ResonanceModulation: Resonance modulation amount -1.0 ... 1.0.
  • Visuals:
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz.

BRFilter

Resonant bandreject (Notch) SVF filter.

  • Inputs:
    • In: Audio input.
    • FM: Control input for frequency modulation.
    • ResonanceModulation: Control input for resonance modulation.
  • Outputs:
    • Out: Filtered audio signal.
  • Parameters:
    • AudioLevel: Audio level 0 ... 1.0. Default is 1.
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz. Default is 440 Hz.
    • Resonance: Resonance 0 ... 1.0. Default is 0.
    • FM: Frequency modulation amount -1.0 ... 1.0.
    • ResonanceModulation: Resonance modulation amount -1.0 ... 1.0.
  • Visuals:
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz.

DbMixer

Mixer suited for audio signals.

  • Inputs:
    • In1 ... In4: Audio inputs 1 ... 4.
  • Outputs:
    • Out: Mixed signal.
  • Parameters:
    • In1 ... In4: Audio input 1 ... 4 levels TODO: range/spec.
    • Out: Output level TODO: range/spec.

Delay

Delay line.

  • Inputs:
    • In: Audio input.
    • DelayTimeModulation: Control signal for delay time modulation.
  • Outputs:
    • Out: Delayed signal.
  • Parameters:
    • DelayTime: Delay time 0.1 ... 5000 ms.
    • DelayTimeModulation: Delay time modulation amount.
  • Visuals:
    • DelayTime: Delay time.

EQBP

Non-resonant, variable width bandpass filter.

  • Inputs:
    • In
    • FM
    • BandwidthModulation
  • Outputs:
    • Out
  • Parameters:
    • Frequency: TODO
    • Bandwidth: TODO
    • FM: TODO
    • BandwidthModulation: TODO

FShift

Frequency shifter.

  • Inputs:
    • Left: Left audio input.
    • Right: Right audio input.
    • FM: Control signal for frequency shift modulation.
  • Outputs:
    • Left: Left shifted signal.
    • Right: Right shifted signal.
  • Parameters:
    • Frequency: Frequency shift. -2000 Hz ... +2000 Hz.
    • FM: Frequency modulation amount. -1.0 ... +1.0.
  • Visuals:
    • Frequency: Frequency shift.

FreqGate

CV/Gate like thing.

  • Outputs:
    • Frequency: Frequency control signal.
    • Gate: Gate control signal.
    • Trig: Trig control signal.
  • Parameters:
    • Frequency: Frequency parameter.
    • Gate: Gate parameter.

HPFilter

Resonant highpass SVF filter.

  • Inputs:
    • In: Audio input.
    • FM: Control input for frequency modulation.
    • ResonanceModulation: Control input for resonance modulation.
  • Outputs:
    • Out: Filtered audio signal.
  • Parameters:
    • AudioLevel: Audio level 0 ... 1.0. Default is 1.
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz. Default is 440 Hz.
    • Resonance: Resonance 0 ... 1.0. Default is 0.
    • FM: Frequency modulation amount -1.0 ... 1.0.
    • ResonanceModulation: Resonance modulation amount -1.0 ... 1.0.
  • Visuals:
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz.

LPFilter

Resonant lowpass SVF filter.

  • Inputs:
    • In: Audio input.
    • FM: Control input for frequency modulation.
    • ResonanceModulation: Control input for resonance modulation.
  • Outputs:
    • Out: Filtered audio signal.
  • Parameters:
    • AudioLevel: Audio level 0 ... 1.0. Default is 1.
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz. Default is 440 Hz.
    • Resonance: Resonance 0 ... 1.0. Default is 0.
    • FM: Frequency modulation amount -1.0 ... 1.0.
    • ResonanceModulation: Resonance modulation amount -1.0 ... 1.0.
  • Visuals:
    • Frequency: Cutoff frequency 0.1 ... 20000 Hz.

LPLadder

Lowpass ladder filter.

  • Inputs:
    • In:
View on GitHub
GitHub Stars24
CategoryDevelopment
Updated1y ago
Forks3

Languages

SuperCollider

Security Score

60/100

Audited on Nov 10, 2024

No findings