#synthesizer #data #enums #synth #blocks #type #audio-processing

surge-types

surge synthesizer -- primarily comprised of enumerations used to select between synth features

30 releases

0.2.12-alpha.0 Apr 7, 2023
0.2.11-alpha.0 Dec 19, 2022
0.2.5-alpha.0 Jun 21, 2022
0.2.4-alpha.0 Mar 14, 2022
0.1.42-alpha.0 Oct 27, 2021

#34 in #synth

Download history 60/week @ 2024-06-28 29/week @ 2024-07-05 128/week @ 2024-07-12 142/week @ 2024-07-19 97/week @ 2024-07-26 98/week @ 2024-08-02 98/week @ 2024-08-09 138/week @ 2024-08-16 121/week @ 2024-08-23 67/week @ 2024-08-30 102/week @ 2024-09-06 131/week @ 2024-09-13 124/week @ 2024-09-20 92/week @ 2024-09-27 30/week @ 2024-10-04 57/week @ 2024-10-11

328 downloads per month
Used in 60 crates (49 directly)

GPL-3.0 license

230KB
4K SLoC

surge-types

A Rust crate for the Surge Synthesizer system. This crate provides various types and traits used throughout the Surge Synthesizer codebase.

Math Concepts

  • Mask32: This token represents a 32-bit bitmask. Bitmasks are often used in computer programming to manipulate binary data. They are usually represented as a series of 1s and 0s. The Mask32 type can be used to perform bitwise operations on 32-bit data.

  • NumberOfBlocks: This token represents the number of audio blocks in a given signal chain. In digital audio processing, audio signals are often split into blocks or frames, which are processed independently. The NumberOfBlocks type can be used to calculate the number of audio blocks needed for a given audio signal.

  • OutputDataPresent: This token represents whether or not output data is present. In digital audio processing, output data refers to the audio signal that is sent to a speaker or other audio device. The OutputDataPresent type can be used to determine whether or not output data is present, which can be useful for managing audio signal flow.

  • PitchBendCfg: This token represents the pitch bend configuration used in the synthesizer. Pitch bend is a musical effect that changes the pitch of a note over time. The PitchBendCfg type can be used to configure the pitch bend behavior of the synthesizer.

  • OscillatorOut: This token represents the output of an oscillator. In audio synthesis, an oscillator generates a periodic waveform, such as a sine wave or a square wave. The OscillatorOut type can be used to represent the output of an oscillator, which can be used as an audio signal.

  • Ringout: This token represents a ring modulator output. A ring modulator is a type of audio effect that multiplies two audio signals together. The Ringout type can be used to represent the output of a ring modulator.

  • FilterUnit: This token represents a filter unit. In audio synthesis, a filter is used to modify the frequency content of an audio signal. The FilterUnit type can be used to represent a filter, which can be used to process audio signals.

  • Output: This token represents the output of a signal chain. In audio processing, a signal chain is a series of audio processing blocks connected in series. The Output type can be used to represent the output of a signal chain.

  • control_group: This token represents a group of control parameters. In audio synthesis, control parameters are used to modify the behavior of audio processing blocks. The control_group type can be used to group related control parameters together.

  • on: This token represents whether a control parameter is enabled or not. Control parameters can often be enabled or disabled to modify the behavior of audio processing blocks. The on type can be used to represent the on/off state of a control parameter.

  • runtime_array: This token represents a dynamically-sized array. In Rust, arrays are usually statically-sized, meaning that their size is determined at compile time. The runtime_array type can be used to represent arrays whose size is determined at runtime.

  • uses_wavetabledata: This token represents whether or not a synthesizer block uses wavetable data. Wavetable synthesis is a type of audio synthesis that uses precomputed waveform samples. The uses_wavetabledata type can be used to determine whether or not a synthesizer block uses wavetable data.

  • blocks: This token represents a series of audio processing blocks. In audio processing, a series of processing blocks can be connected in series to form a signal chain. The blocks type can be used to represent

2> thanks! could you keep going?

  • feedback_scale: This token represents the feedback scale used in a signal processing block. Feedback is a technique used in audio processing to create complex audio effects. The feedback_scale type can be used to configure the amount of feedback used in a signal processing block.

  • control_type: This token represents the type of a control parameter. Control parameters can have different types, such as integer or floating-point numbers. The control_type type can be used to represent the type of a control parameter.

  • default: This token represents the default value of a control parameter. The default type can be used to represent the default value of a control parameter.

  • default_value: This token represents the default value of a control parameter. The default_value type can be used to represent the default value of a control parameter.

  • index: This token represents the index of an element in an array or collection. The index type can be used to represent the index of an element in an array or collection.

  • index_mut: This token represents a mutable reference to an element in an array or collection. The index_mut type can be used to represent a mutable reference to an element in an array or collection.

  • is: This token represents a boolean value indicating whether a control parameter is enabled or not. The is type can be used to represent the on/off state of a control parameter.

  • is_dual: This token represents whether a control parameter has dual functionality. Dual functionality means that a control parameter can control two different parameters depending on its state. The is_dual type can be used to represent the dual functionality of a control parameter.

  • is_serial: This token represents whether a signal processing block is in serial mode. In serial mode, audio signals are processed one after the other, in sequence. The is_serial type can be used to represent whether a signal processing block is in serial mode.

  • is_stereo: This token represents whether a signal processing block processes stereo audio signals. Stereo audio signals consist of two audio channels, left and right. The is_stereo type can be used to represent whether a signal processing block processes stereo audio signals.

  • is_wide: This token represents whether a control parameter has a wide range of values. Control parameters with a wide range of values can control a wider range of audio processing parameters. The is_wide type can be used to represent the wide range of a control parameter.

  • max_value: This token represents the maximum value of a control parameter. The max_value type can be used to represent the maximum value of a control parameter.

  • min_value: This token represents the minimum value of a control parameter. The min_value type can be used to represent the minimum value of a control parameter.

  • modulateable: This token represents whether a control parameter is modulateable. Modulateable control parameters can be controlled by other audio signals, such as LFOs or envelopes. The modulateable type can be used to represent whether a control parameter is modulateable.

  • moverate: This token represents the rate of change of a control parameter. The moverate type can be used to represent the rate of change of a control parameter.

  • switch: This token represents a switch parameter. Switch parameters can be used to turn on or off certain audio processing blocks or features. The switch type can be used to represent a switch parameter.

  • value_type: This token represents the type of a control parameter value. Control parameters can have different value types, such as integer or floating-point numbers. The value_type type can be used to represent the value type

Dependencies

~11–20MB
~298K SLoC