jdxi_editor.ui.editors.effects.vocal

VocalFXEditor Module

This module defines the VocalFXEditor class, a PySide6-based editor for controlling the Vocal FX section of the Roland JD-Xi synthesizer. It provides a graphical interface for adjusting various vocal effects such as vocoder settings, auto-pitch parameters, and mixer controls.

Features: - Scrollable UI with multiple tabs for organizing vocal effect settings. - Support for vocoder controls, including envelope, mic sensitivity, and synthesis levels. - Auto-pitch settings with selectable pitch type, scale, key, and gender adjustment. - Mixer section for controlling levels, panning, reverb, and delay send levels. - MIDI integration for real-time parameter control using MIDIHelper. - Dynamic instrument image loading to visually represent the effect in use.

Dependencies: - PySide6 for UI components. - MIDIHelper for sending MIDI messages to the JD-Xi. - VocalFXParameter for managing effect-specific MIDI parameters.

Classes

VocalFXEditor

Vocal Effects Window Class

Module Contents

class jdxi_editor.ui.editors.effects.vocal.VocalFXEditor(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, preset_helper: jdxi_editor.ui.preset.helper.JDXiPresetHelper = None, parent: jdxi_editor.ui.common.QWidget | None = None)[source]

Bases: jdxi_editor.ui.editors.synth.simple.BasicEditor

Vocal Effects Window Class

preset_helper = None[source]
address[source]
base_widget[source]
editor_helper[source]
controls: Dict[picomidi.sysex.parameter.address.AddressParameter, jdxi_editor.ui.common.QWidget][source]
tab_widget = None[source]
midi_requests[source]
showEvent(event: PySide6.QtGui.QShowEvent) None[source]

Request current settings from the instrument when the editor is shown.

dispatch_sysex_to_area(json_sysex_data: str) None[source]

Parse SysEx JSON and update Vocal FX controls.

_apply_vocal_effect_tooltips() None[source]

Set tooltips for vocal effect controls from VocalEffectsData.

_build_widgets_from_spec(spec: jdxi_editor.ui.widgets.layout.WidgetLayoutSpec) jdxi_editor.ui.widgets.group.WidgetGroups[source]

Build WidgetGroups from a layout spec (same paradigm as Arpeggiator/Effects).

_build_common_layout_spec() jdxi_editor.ui.widgets.layout.WidgetLayoutSpec[source]

Build layout spec for Common tab.

_create_common_section() jdxi_editor.ui.common.QWidget[source]

Create Common tab (spec-driven).

_update_vocal_effect_stack(index: int) None[source]

Switch Vocoder & Auto Pitch stack to the page for the selected effect type.

_create_vocal_effect_stack_section() jdxi_editor.ui.common.QWidget[source]

Create Vocoder & Auto Pitch tab with QStackedWidget (OFF/VOCODER/AUTO-PITCH).

_build_vocal_effect_layout_spec() jdxi_editor.ui.widgets.layout.WidgetLayoutSpec[source]

Build layout spec for Vocal FX tab (Vocoder settings).

_create_vocal_effect_section() jdxi_editor.ui.common.QWidget[source]

Create Vocal FX tab (spec-driven).

_build_mixer_layout_spec() jdxi_editor.ui.widgets.layout.WidgetLayoutSpec[source]

Build layout spec for Mixer tab.

_create_mixer_section() jdxi_editor.ui.common.QWidget[source]

Create Mixer tab (spec-driven).

_build_auto_pitch_layout_spec() jdxi_editor.ui.widgets.layout.WidgetLayoutSpec[source]

Build layout spec for Auto Pitch tab.

_create_auto_pitch_section() jdxi_editor.ui.common.QWidget[source]

Create Auto Pitch tab (spec-driven).