Source code for jdxi_editor.midi.data.vocal_effects.vocal

"""Vocal Effects"""

from enum import Enum


[docs] class VocalFxSwitch(Enum): """Vocal FX switch values"""
[docs] OFF = 0
[docs] ON = 1
@property
[docs] def display_name(self) -> str: """Get digital name for switch value""" return "ON" if self.value else "OFF"
@property
[docs] def midi_value(self) -> int: """Get MIDI value for switch""" return self.value
[docs] class VocalAutoNoteSwitch(Enum): """Auto Note switch values"""
[docs] OFF = 0
[docs] ON = 1
@property
[docs] def display_name(self) -> str: """Get digital name for switch value""" return "ON" if self.value else "OFF"
@property
[docs] def midi_value(self) -> int: """Get MIDI value for switch""" return self.value
[docs] class VocalAutoPitchType(Enum): """Auto Pitch preset_type values"""
[docs] SOFT = 0
[docs] HARD = 1
[docs] ELECTRIC1 = 2
[docs] ELECTRIC2 = 3
@property
[docs] def display_name(self) -> str: """Get digital name for pitch preset_type""" names = {0: "SOFT", 1: "HARD", 2: "ELECTRIC1", 3: "ELECTRIC2"} return names.get(self.value, "???")
@property
[docs] def midi_value(self) -> int: """Get MIDI value for pitch preset_type""" return self.value
[docs] class VocalOutputAssign(Enum): """Output assignment values"""
[docs] EFX1 = 0
[docs] EFX2 = 1
[docs] DLY = 2
[docs] REV = 3
[docs] DIR = 4
@property
[docs] def display_name(self) -> str: """Get digital name for output assignment""" return self.name
@property
[docs] def midi_value(self) -> int: """Get MIDI value for output assignment""" return self.value
[docs] class VocalAutoPitchKey(Enum): """Auto Pitch key values"""
[docs] C = 0
[docs] Db = 1
[docs] D = 2
[docs] Eb = 3
[docs] E = 4
[docs] F = 5
[docs] Fsharp = 6
[docs] G = 7
[docs] Ab = 8
[docs] A = 9
[docs] Bb = 10
[docs] B = 11
[docs] Cm = 12
[docs] Csharp_m = 13
[docs] Dm = 14
[docs] Dsharp_m = 15
[docs] Em = 16
[docs] Fm = 17
[docs] Fsharp_m = 18
[docs] Gm = 19
[docs] Gsharp_m = 20
[docs] Am = 21
[docs] Bbm = 22
[docs] Bm = 23
@property
[docs] def display_name(self) -> str: """Get digital name for key""" names = { 0: "C", 1: "Db", 2: "D", 3: "Eb", 4: "E", 5: "F", 6: "F#", 7: "G", 8: "Ab", 9: "A", 10: "Bb", 11: "B", 12: "Cm", 13: "C#m", 14: "Dm", 15: "D#m", 16: "Em", 17: "Fm", 18: "F#m", 19: "Gm", 20: "G#m", 21: "Am", 22: "Bbm", 23: "Bm", } return names.get(self.value, "???")
@property
[docs] def midi_value(self) -> int: """Get MIDI value for key""" return self.value
[docs] class VocalOctaveRange(Enum): """Octave range values"""
[docs] MINUS_ONE = 0
[docs] ZERO = 1
[docs] PLUS_ONE = 2
@property
[docs] def display_name(self) -> str: """Get digital name for octave""" names = {0: "-1", 1: "0", 2: "+1"} return names.get(self.value, "???")
@property
[docs] def midi_value(self) -> int: """Get MIDI value for octave""" return self.value
[docs] class VocalAutoPitchNote(Enum): """Auto Pitch note values"""
[docs] C = 0
[docs] C_SHARP = 1
[docs] D = 2
[docs] D_SHARP = 3
[docs] E = 4
[docs] F = 5
[docs] F_SHARP = 6
[docs] G = 7
[docs] G_SHARP = 8
[docs] A = 9
[docs] A_SHARP = 10
[docs] B = 11
@property
[docs] def display_name(self) -> str: """Get digital name for note""" names = { 0: "C", 1: "C#", 2: "D", 3: "D#", 4: "E", 5: "F", 6: "F#", 7: "G", 8: "G#", 9: "A", 10: "A#", 11: "B", } return names.get(self.value, "???")
@property
[docs] def midi_value(self) -> int: """Get MIDI value for note""" return self.value
[docs] class VocoderEnvelope(Enum): """Vocoder envelope types"""
[docs] SHARP = 0
[docs] SOFT = 1
[docs] LONG = 2
@property
[docs] def display_name(self) -> str: """Get digital name for envelope preset_type""" return self.name
@property
[docs] def midi_value(self) -> int: """Get MIDI value for envelope preset_type""" return self.value
[docs] class VocoderHPF(Enum): """Vocoder HPF frequencies"""
[docs] BYPASS = 0
[docs] FREQ_1000 = 1
[docs] FREQ_1250 = 2
[docs] FREQ_1600 = 3
[docs] FREQ_2000 = 4
[docs] FREQ_2500 = 5
[docs] FREQ_3150 = 6
[docs] FREQ_4000 = 7
[docs] FREQ_5000 = 8
[docs] FREQ_6300 = 9
[docs] FREQ_8000 = 10
[docs] FREQ_10000 = 11
[docs] FREQ_12500 = 12
[docs] FREQ_16000 = 13
@property
[docs] def display_name(self) -> str: """Get digital name for HPF frequency""" names = { 0: "BYPASS", 1: "1000 Hz", 2: "1250 Hz", 3: "1600 Hz", 4: "2000 Hz", 5: "2500 Hz", 6: "3150 Hz", 7: "4000 Hz", 8: "5000 Hz", 9: "6300 Hz", 10: "8000 Hz", 11: "10000 Hz", 12: "12500 Hz", 13: "16000 Hz", } return names.get(self.value, "???")
@property
[docs] def midi_value(self) -> int: """Get MIDI value for HPF frequency""" return self.value
[docs] class VoiceCutoffFilter(Enum): """Voice cutoff filter types"""
[docs] THRU = 0x00
[docs] LPF = 0x01
[docs] HPF = 0x02
[docs] BPF = 0x03
[docs] class VoiceScale(Enum): """Voice scale types"""
[docs] CHROMATIC = 0x00
[docs] MAJOR = 0x01
[docs] MINOR = 0x02
[docs] BLUES = 0x03
[docs] INDIAN = 0x04
[docs] class VoiceKey(Enum): """Voice keys"""
[docs] C = 0x00
[docs] Db = 0x01
[docs] D = 0x02
[docs] Eb = 0x03
[docs] E = 0x04
[docs] F = 0x05
[docs] Gb = 0x06
[docs] G = 0x07
[docs] Ab = 0x08
[docs] A = 0x09
[docs] Bb = 0x0A
[docs] B = 0x0B