"""Vocal Effects"""
from enum import Enum
[docs]
class VocalFxSwitch(Enum):
"""Vocal FX switch values"""
@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"""
@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"""
@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"""
@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"""
@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"""
@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"""
@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"""
@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"""
@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]
class VoiceScale(Enum):
"""Voice scale types"""
[docs]
class VoiceKey(Enum):
"""Voice keys"""