Example #1
0
    "dryAmp": 1.0,  # 0..2
    "psAmp": 1.0,  # 0..2
    "delayAmp": 0.0,  # 0..2
    "dryPan": 0.0,  # -1..+1
    "psPan": 0.0,  # -1..+1
    "delayPan": 0.0
}  # -1..+1


class PitchShifter(Program):
    def __init__(self, name):
        super(PitchShifter, self).__init__(name, "PitchShifter", prototype)
        self.performance = performance()


program_bank = ProgramBank(PitchShifter("Init"))
program_bank.enable_undo = False


def pitchshifter(slot, name, **pmap):
    p = PitchShifter(name)
    for param, dflt in prototype.items():
        try:
            value = pmap[param]
        except KeyError:
            value = dflt
        p[param] = float(value)
    program_bank[slot] = p
    return p

Example #2
0
    "scaleD": 1.0,
    "biasD": 0.0,
    "muteD": 0,
    "masterScale": 1.0,
    "masterBias": 0.0,
    "masterMute": 0
}


class Controlmixer(Program):
    def __init__(self, name):
        super(Controlmixer, self).__init__(name, "ControlMixer", prototype)
        self.performance = performance()


program_bank = ProgramBank(Controlmixer("Init"))
program_bank.enable_undo = False


def controlmixer(slot,
                 name,
                 scaleA=1.0,
                 biasA=0.0,
                 muteA=0,
                 scaleB=1.0,
                 biasB=0.0,
                 muteB=0,
                 scaleC=1.0,
                 biasC=0.0,
                 muteC=0,
                 scaleD=1.0,
Example #3
0
    "bDecay2": 0.0,
    "bRelease": 0.0,
    "bBreakpoint": 1.0,
    "bSustain": 1.0,
    "bEnvmode": 0,
    "bInvert": 0
}


class Envgen(Program):
    def __init__(self, name):
        super(Envgen, self).__init__(name, Envgen, prototype)
        self.performance = performance()


program_bank = ProgramBank(Envgen("Init"))
program_bank.enable_undo = False


def envgen(slot,
           name,
           aAttack=0.0,
           aDecay1=0.0,
           aDecay2=0.0,
           aRelease=0.0,
           aBreakpoint=1.0,
           aSustain=1.0,
           aEnvmode=0,
           aInvert=0,
           bAttack=0.0,
           bDecay1=0.0,
Example #4
0
    "delay" : 0.01,
    "modDepth" : 0.5,
    "feedback" : 0.0,
    "lowpass" : 16000,
    "dryMix" : 0.5,
    "wet1Mix" : 0.5,
    "wet2Mix" : 0.5,
    "xmodDepth" : 0.0}

class Scanner(Program):

    def __init__(self,name):
        super(Scanner,self).__init__(name,Scanner,prototype)
        self.performance = performance()

program_bank = ProgramBank(Scanner("Init"))
program_bank.enable_undo = False

def scanner(slot, name,
            scanRate = 5.0,
            wave = 0.5,
            delay = 0.01,
            modDepth = 0.5,
            feedback = 0.0,
            lowpass = 16000,
            dryMix = 0.5,
            wet1Mix = 0.5,
            wet2Mix = 0.5,
            xmodDepth = 0.0):
    def fval(x):
        return round(float(x),4)
Example #5
0
    "gain" : 1.0,               # fold/wrap pregain 0..10?
    "wave" : 0,                 # wave select [0,1,2] -> [None,Soft, Distort,Fold,Wrap]
    "clockFreq" : 10000,        # sample clock frequency
    "resampleEnable" : 1,       # 0 -> bypass, 1 -> resample
    "low"  : 20000,             # low pass filter cutoff
    "wet" : 0.5,                # wet signal amp
    "dry" : 0.5,                # dry signal amp
    "amp" : 1.0}                # overall amp

class Crusher(Program):

    def __init__(self, name):
        super(Crusher, self).__init__(name, "Crusher", prototype)
        self.performance = performance()

program_bank = ProgramBank(Crusher("Init"))
program_bank.enable_undo = False

def crusher(slot, name,
            gain = 1.0,
            wave = 0,
            clockFreq = 16000,
            resampleEnable = 1,
            low = 20000,
            wet = 0.5,
            dry = 0.5,
            amp = 1.0):
    p = Crusher(name)
    p["gain"] = float(gain)
    p["wave"] = int(wave)
    p["clockFreq"] = int(clockFreq)
Example #6
0
    "f4": 1200,
    "q4": 1,
    "gain4": 0,
    "enable4": 1,
    "bleed": 0,
    "amp": 0
}


class Formant(Program):
    def __init__(self, name):
        super(Formant, self).__init__(name, Formant, prototype)
        self.performance = performance()


program_bank = ProgramBank(Formant("Init"))
program_bank.enable_undo = False


def band(n, freq=None, q=1, gain=0, enable=1):
    freq = freq or (n * 440)
    if enable:
        flag = 1
    else:
        flag = 0
    rs = {
        "f%d" % n: int(freq),
        "q%d" % n: float(q),
        "gain%d" % n: int(gain),
        "enable%d" % n: flag
    }
Example #7
0
    "threshold": 1.0,  # feedback clipping threshold, normalized
    "lowcut": 10000,  # feedback lowpass cutoff, Hertz
    "highcut": 100,  # feedback highpass cutoff, Hertz
    "efxMix": 0.5,  # wet/dry signal mix, 0 -> dry, 1 -> wet
    "xEfxMix": 0.0,  # external efx-mix modulation, normalized
    "amp": 1.0
}  # overall gain


class CarnalDelay(Program):
    def __init__(self, name):
        super(CarnalDelay, self).__init__(name, "CarnalDelay", prototype)
        self.performance = performance()


program_bank = ProgramBank(CarnalDelay("Init"))
program_bank.enable_undo = False

MAX_DELAY = 1.5


def carnal(
        slot,
        name,
        amp=-12,
        delayTime=0.125,
        xDelay=0.0,
        wow=0.0,
        wowFreq=1.0,
        flutter=0,
        feedback=0.5,
Example #8
0
    "gate5": 0,
    "gate6": 0,
    "gaten": 0,
    "scale": 1.0,  # float, 0..1
    "bias": 0,  # float -4..+4
    "lag": 0.0
}  # float 0..1


class Cascade(Program):
    def __init__(self, name):
        super(Cascade, self).__init__(name, "Cascade", prototype)
        self.performance = performance()


program_bank = ProgramBank(Cascade("Init"))
program_bank.enable_undo = False


def _fill_amp_list(lst):
    template = [1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00]
    acc = []
    for i, dflt in enumerate(template):
        try:
            acc.append(float(lst[i]))
        except IndexError:
            acc.append(dflt)
    return acc


def _bool(obj):
Example #9
0
    "gainD" : 1.0,
    "muteD" : 0,
    "modD" : 0.0,
    "panD" : 0.0,
    "gain1" : 1,
    "gain2" : 1}
    


class Mixer(Program):

    def __init__(self, name):
        super(Mixer, self).__init__(name, "Mixer", prototype)
        self.performance = performance()

program_bank = ProgramBank(Mixer("Init"))


def mixer(slot, name,
          chanA = [-99, 0.0, 0.0, 0],      # [gain(db), mod-depth, pan, mute]
          chanB = [-99, 0.0, 0.0, 0],
          chanC = [-99, 0.0, 0.0, 0],
          chanD = [-99, 0.0, 0.0, 0],
          main = [0,0]):
    program=Mixer(name)
    def fill_channel_list(lst):
        acc = []
        for i,dflt in enumerate([-99.0, 0.0, 0.0, 0]):
            try:
                acc.append(float(lst[i]))
            except (IndexError,ValueError,TypeError):
Example #10
0
    "delay": 1.0,
    "feedback": 0.0,
    "lagDelay": 0.0,
    "enableHpDelay": 0,
    "scaleDelay": 1.0,
    "biasDelay": 0.0
}


class Ghostbus(Program):
    def __init__(self, name):
        super(Ghostbus, self).__init__(name, "GHOSTBUS", prototype)
        self.performance = performance()


program_bank = ProgramBank(Ghostbus("Init"))
program_bank.enable_undo = False


def ghostbus(slot,
             name,
             enableMod=0,
             enableHpA=0,
             lagA=0.0,
             scaleA=1.0,
             biasA=0.0,
             delay=1.0,
             feedback=0.0,
             lagDelay=0.0,
             enableHpDelay=0,
             scaleDelay=1.0,
Example #11
0
    "cFreqX": 0,  # External -> freq
    "q": 1,  # Filter Q
    "qLfo": 0,  # LFO -> Q
    "qX": 0,  # External -> Q
    "filterGain": 0,  # Filter gain in db
    "bleed": 0.0
}  # dry signal bypass  0 -> filter 1 -> no filter


class Bandpass(Program):
    def __init__(self, name):
        super(Bandpass, self).__init__(name, Bandpass, prototype)
        self.performance = performance()


program_bank = ProgramBank(Bandpass("Init"))
program_bank.enable_undo = False


def bandpass(slot,
             name,
             lfoFreq=1.0,
             cFreq=1000,
             cFreqLfo=0,
             cFreqX=0,
             q=1,
             qLfo=0,
             qX=0,
             filterGain=0,
             bleed=0.0):
    p = Bandpass(name)
Example #12
0
    "d1Amp": 1.0,  # vol slider
    "d2Amp": 1.0,  # vol slider
    "dry1Pan": 0.0,  # bipolar
    "dry2Pan": 0.0,  # bipolar
    "d1Pan": 0.0,  # bipolar
    "d2Pan": 0.0
}  # bipolar


class Chronos(Program):
    def __init__(self, name):
        super(Chronos, self).__init__(name, "Chronos", prototype)
        self.performance = performance()


program_bank = ProgramBank(Chronos("Init"))
program_bank.enable_undo = False


def chronos(slot, name, **pmap):
    p = Chronos(name)
    for param, dflt in prototype.items():
        try:
            value = pmap[param]
        except KeyError:
            value = dflt
        p[param] = float(value)
    program_bank[slot] = p
    return p

Example #13
0
    "pos": 0.0,
    "lfoFreq": 1.0,
    "lfoDepth": 0.0,
    "xscale": 0.0,
    "xbias": 0.0,
    "amp": 1.0
}


class Panner(Program):
    def __init__(self, name):
        super(Panner, self).__init__(name, "Panner", prototype)
        self.performance = performance()


program_bank = ProgramBank(Panner("Init"))


def panner(
        slot,
        name,
        amp=0,  # db
        pos=0.0,  # pan position (-1..+1)
        lfoFreq=1.0,  # Hertz
        lfoDepth=0.0,  # (0..1)
        xscale=0.0,  # external signal scale
        xbias=0.0):
    p = Panner(name)
    p["amp"] = float(db_to_amp(amp))
    p["pos"] = float(clip(pos, -1, 1))
    p["lfoFreq"] = float(abs(lfoFreq))
Example #14
0
            "op%dBreakKey": 60,
            "op%dLeftKeyScale": 0,
            "op%dRightKeyScale": 0,
            "op%dAmp": 1.0,
            "op%dX": 0.0
    }.items():
        prototype[p % op] = v


class Io(Program):
    def __init__(self, name):
        super(Io, self).__init__(name, Io, prototype)
        self.performance = performance()


program_bank = ProgramBank(Io("Init"))
program_bank.enable_undo = False


def vibrato(freq=7.0,
            lock=1,
            noise=0.3,
            delay=0.0,
            sens=0.1,
            depth=0.0,
            x=0.0,
            tremRatio=1.0):
    a = {
        "vfreq": freq,
        "vlock": lock,
        "vnoise": noise,
Example #15
0
File: rm_data.py Project: kaos/Llia
    "imodfreq": 1000,  # internal modulator frequency
    "imodamp": 1.0,  # internal modulator linear amp
    "xmodamp": 0.0,  # external modulator amp
    "xmodbleed": 0.0,  # external mod bleed to output
    "carbleed": 0.0,  # carrier bleed to output
    "amp": 1
}  # main linear amplitude


class RingModulator(Program):
    def __init__(self, name):
        super(RingModulator, self).__init__(name, "RingModulator", prototype)
        self.performance = performance()


program_bank = ProgramBank(RingModulator("Init"))
program_bank.enable_undo = False


def rm(slot,
       name,
       imodfreq=1000,
       imodamp=1.0,
       xmodamp=1.0,
       xmodbleed=0.0,
       carbleed=0.0,
       amp=1.0):
    p = RingModulator(name)
    p["imodfreq"] = int(imodfreq)
    p["imodamp"] = float(imodamp)
    p["xmodamp"] = float(xmodamp)
Example #16
0
    "lpcutoff" : 16000,
    "hpcutoff" : 10,
    "gatted" : 0,
    "modDepth" : 0.0,
    "wetAmp" : 1.0,
    "wetPan" : 0.75,
    "dryAmp" : 1.0,
    "dryPan" : 0.25}

class Rumklang(Program):

    def __init__(self, name):
        super(Rumklang,self).__init__(name, "Rumklang", prototype)
        self.performance = performance()

program_bank = ProgramBank(Rumklang("Init"))
program_bank.enable_undo = False


MAX_DELAY = 0.33

def rumklang(slot, name,
             delay = 0.0,
             roomSize = 0.5,
             damp = 0.5,
             eq = [16000, 20],   # [lp hp] in Hz
             gatted = 0,
             modDepth = 0.0,     # external wet signal modulation
             wet = [0, 0.25],    # [db, pan]
             dry = [0, 0.75]):   # [db, pan]
    p = Rumklang(name)
Example #17
0
    "gain": 1.0,
    "unmuteA": 1,  # 0 -> mute  1 -> unmute
    "unmuteB": 1,
    "unmuteC": 1,
    "unmuteD": 1,
    "unmute": 1
}


class ASplit(Program):
    def __init__(self, name):
        super(ASplit, self).__init__(name, "ASplit", prototype)
        self.performance = performance()


program_bank = ProgramBank(ASplit("Init"))


def asplit(slot,
           name,
           gainA=0,
           gainB=0,
           gainC=0,
           gainD=0,
           gain=0,
           unmuteA=1,
           unmuteB=1,
           unmuteC=1,
           unmuteD=1,
           unmute=1):
    p = ASplit(name)