jdxi_editor.midi.data.parameter.vocal_fx

This module defines the VocalFXParameter class, which represents various vocal effects parameters in a synthesizer. These parameters control different aspects of vocal processing, including level, pan, delay/reverb send levels, auto pitch settings, vocoder effects, and more.

The class provides methods to:

  • Initialize vocal FX parameters with a given address, range, and optional digital range.

  • Validate and convert parameter values to the MIDI range (0-127).

  • Define a variety of vocal effects parameters with specific ranges, including: - Level, pan, delay/reverb send levels, and output assignment - Auto pitch settings such as switch, type, scale, key, note, gender, octave, and balance - Vocoder parameters such as switch, envelope type, level, mic sensitivity, and mix level

The class also offers conversion utilities: - Convert between MIDI values and digital values. - Handle special bipolar cases (e.g., pan, auto pitch gender). - Retrieve the digital value range or MIDI value range for parameters.

Parameters include: - Level, pan, delay and reverb send levels, output assignment, and auto pitch settings - Vocoder settings for on/off, envelope, level, mic sensitivity, synth level, and mic mix - Auto pitch gender, octave, balance, and key/note configurations

The class also includes utility functions to get a parameter’s address, range, digital range, and to convert between MIDI values and digital values.

Usage example:

>>> # Initialize a VocalFXParam object for the LEVEL parameter
>>> param = VocalFXParam.LEVEL
>>> # Access digital range values
>>> print(param.display_min)  # Output: 0
0
>>> print(param.display_max)  # Output: 127
127
>>> # Validate a MIDI value
>>> midi_value = param.convert_to_midi(64) # Simple linear scaling, not bipolar
>>> print(midi_value)
64

Classes

VocalFXParam

Vocal FX parameters

Module Contents

class jdxi_editor.midi.data.parameter.vocal_fx.VocalFXParam(address: int, min_val: int, max_val: int, display_min: int | None = None, display_max: int | None = None, tooltip: str | None = None, display_name: str | None = None, options: list | None = None, values: list | None = None)[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Vocal FX parameters

display_min[source]
display_max[source]
tooltip = None[source]
_display_name = None[source]
options = None[source]
values = None[source]
LEVEL[source]
PAN[source]
DELAY_SEND_LEVEL[source]
REVERB_SEND_LEVEL[source]
OUTPUT_ASSIGN[source]
AUTO_PITCH_SWITCH[source]
AUTO_PITCH_TYPE[source]
AUTO_PITCH_SCALE[source]
AUTO_PITCH_KEY[source]
AUTO_PITCH_NOTE[source]
AUTO_PITCH_GENDER[source]
AUTO_PITCH_OCTAVE[source]
AUTO_PITCH_BALANCE[source]
VOCODER_SWITCH[source]
VOCODER_ENVELOPE[source]
VOCODER_LEVEL[source]
VOCODER_MIC_SENS[source]
VOCODER_SYNTH_LEVEL[source]
VOCODER_MIC_MIX[source]
VOCODER_MIC_HPF[source]
validate_value(value: int) int[source]

Validate and convert parameter value to MIDI range (0-127)

static get_by_name(param_name: str) VocalFXParam | None[source]

Get the parameter by name.

static get_name_by_address(address: int) str | None[source]

Return the parameter name for address given address. :param address: int The address :return: Optional[str] The parameter name

property display_name: str[source]

Get digital name for the parameter (from ParameterSpec or fallback).

property is_switch: bool[source]

Returns True if parameter is address binary/enum switch

static get_address(param_name: str) int | None[source]

Get the address of address parameter by name.

Parameters:

param_name – str The parameter name

Returns:

Optional[int] The address

static get_range(param_name: str) Tuple[int, int][source]

Get the value range (min, max) of address parameter by name.

Parameters:

param_name – str The parameter name

Returns:

Tuple[int, int] The value range

static get_display_range(param_name: str) Tuple[int, int][source]

Get the digital value range (min, max) of address parameter by name.

Parameters:

param_name – str The parameter name

Returns:

Tuple[int, int] The digital value range

get_display_value() Tuple[int, int][source]

Get the digital value range (min, max) for the parameter

Returns:

Tuple[int, int] The digital value range

convert_from_display(display_value: int) int[source]

Convert from digital value to MIDI value (0-127)

Parameters:

display_value – int The digital value

Returns:

int The MIDI value

static convert_to_display(value: int, min_val: int, max_val: int, display_min: int, display_max: int) int[source]

Convert address value to address digital value within address range.

Parameters:
  • value – int The address value

  • min_val – int The address minimum value

  • max_val – int The address maximum value

  • display_min – int The digital minimum value

  • display_max – int The digital maximum value

Returns:

int The digital value

convert_to_midi(display_value: int) int[source]

Convert from digital value to MIDI value

Parameters:

display_value – int The digital value

Returns:

int The MIDI value

convert_from_midi(midi_value: int) int[source]

Convert from MIDI value to digital value

Parameters:

midi_value – int The MIDI value

Returns:

int The digital value

static get_display_value_by_name(param_name: str, value: int) int[source]

Get the digital value for address parameter by name and value.

Parameters:
  • param_name – str The parameter name

  • value – int The value

Returns:

int The digital value

static get_midi_range(param_name: str) Tuple[int, int][source]

Get the MIDI value range (min, max) of address parameter by name.

Parameters:

param_name – str The parameter name

Returns:

Tuple[int, int] The MIDI value range

static get_midi_value(param_name: str, value: int) int | None[source]

Get the MIDI value for address parameter by name and value.

Parameters:
  • param_name – str The parameter name

  • value – int The value

Returns:

Optional[int] The MIDI value